Periksa Protobuf dan skema lokal
Bidang wire Protobuf bertipe 0/1/2/3/4/5 dengan posisi dan byte yang tepat; tanpa skema, nama atau teks tidak ditebak.
- Berjalan di browser
- Tanpa unggahan
- Periksa sebelum mengunduh
File dan skema tetap berada di tab ini dan di worker lokal. Tidak ada yang diunggah atau disimpan otomatis. Jika Anda mengosongkan atau menutup tab, isian hilang, jadi simpan file asli dan hasil yang Anda perlukan.
Bidang wire Protobuf bertipe 0/1/2/3/4/5 dengan posisi dan byte yang tepat; tanpa skema, nama atau teks tidak ditebak. Tata bahasa proto2/proto3 lokal dengan impor lokal eksplisit, skalar/enum/pesan/grup, repeated packed/unpacked, serta tafsiran map dan oneof. Bidang opsional yang hilang tetap kosong; bidang wajib harus ada. Fragmen pesan tunggal digabung; skalar memakai nilai terakhir dan oneof memakai anggota aktif terakhir. Entri map mempertahankan duplikat agar bisa diperiksa, tidak diubah menjadi JSON Protobuf kanonis. Editions/ekstensi tidak didukung. Tanpa impor jarak jauh, konstruktor/codec buatan, eval, atau eksekusi aplikasi. Bilangan bulat berupa string desimal, byte berupa hex; nama dan bidang tak dikenal hanya diperiksa, bukan klaim bahwa pesan sesuai dengan semantik aplikasi Anda. Simpan laporan wire/hasil baca dan byte asli; schemas.json menyimpan skema lokal yang Anda berikan. Fragmen pesan dalam satu nilai map digabung; entri map yang terpisah tetap terpisah dan nilai skalar memakai kemunculan terakhir.
File maksimal 16 MiB; Protobuf maksimal 1 MiB; tiap skema maksimal 256 KiB, total maksimal 1 MiB. Kedalaman 64, 20.000 simpul metadata/wire, 100.000 nilai fisik/tersimpan; anggaran hasil baca 32 MiB; hasil buatan 8 MiB ditambah file asli. Pratinjau 200 baris; ekspor 10.000 baris. Worker berhenti setelah 5 detik. Memori linear SQLite 64 MiB bukan seluruh memori browser.
Metode dan batas
Profil yang didukung
Bidang wire Protobuf bertipe 0/1/2/3/4/5 dengan posisi dan byte yang tepat; tanpa skema, nama atau teks tidak ditebak. Tata bahasa proto2/proto3 lokal dengan impor lokal eksplisit, skalar/enum/pesan/grup, repeated packed/unpacked, serta tafsiran map dan oneof. Bidang opsional yang hilang tetap kosong; bidang wajib harus ada. Fragmen pesan tunggal digabung; skalar memakai nilai terakhir dan oneof memakai anggota aktif terakhir. Entri map mempertahankan duplikat agar bisa diperiksa, tidak diubah menjadi JSON Protobuf kanonis. Editions/ekstensi tidak didukung. Tanpa impor jarak jauh, konstruktor/codec buatan, eval, atau eksekusi aplikasi. Bilangan bulat berupa string desimal, byte berupa hex; nama dan bidang tak dikenal hanya diperiksa, bukan klaim bahwa pesan sesuai dengan semantik aplikasi Anda. Simpan laporan wire/hasil baca dan byte asli; schemas.json menyimpan skema lokal yang Anda berikan. Fragmen pesan dalam satu nilai map digabung; entri map yang terpisah tetap terpisah dan nilai skalar memakai kemunculan terakhir.
Batas sumber daya
File maksimal 16 MiB; Protobuf maksimal 1 MiB; tiap skema maksimal 256 KiB, total maksimal 1 MiB. Kedalaman 64, 20.000 simpul metadata/wire, 100.000 nilai fisik/tersimpan; anggaran hasil baca 32 MiB; hasil buatan 8 MiB ditambah file asli. Pratinjau 200 baris; ekspor 10.000 baris. Worker berhenti setelah 5 detik. Memori linear SQLite 64 MiB bukan seluruh memori browser.
File dan skema tetap berada di tab ini dan di worker lokal. Tidak ada yang diunggah atau disimpan otomatis. Jika Anda mengosongkan atau menutup tab, isian hilang, jadi simpan file asli dan hasil yang Anda perlukan.
Cara memeriksa dengan aman
- File biner lokal
Muat pesan biner. Mode wire tidak memerlukan skema; mode skema memerlukan file .proto lokal, nama file utama, dan tipe pesan yang eksplisit. Muat contoh untuk memulai dengan sample.proto dan pesan Sample.
- Skema dan metadata
Byte contoh diawali 08 96 01, lalu sebuah kolom berbatas panjang. Dengan Sample {int64 id=1; string name=2;}, hasil dekodenya adalah id=150 dan name=Café. Mode wire melaporkan nomor kolom, rentang byte, dan payload mentah, tanpa mengarang nama.
- Periksa dan simpan hasil ekspor
Bandingkan kolom hasil dekode dengan offset wire dan jumlah kolom yang tidak dikenal. Simpan report.json, schemas.json jika ada, dan original.pb. Bilangan bulat berupa string desimal; byte berupa hex, bukan teks UTF-8 hasil tebakan.
Metode dan batas
Mengapa laporan mode wire dan mode skema berbeda?
Format wire saja tidak bisa menentukan apakah nilai berbatas panjang adalah teks, byte, atau subpesan. Tafsiran itu berasal dari skema yang dipilih. Kolom opsional yang tidak ada tetap tidak ditampilkan; kolom berulang mempertahankan setiap kemunculannya, dan oneof mengikuti anggota aktif yang terakhir. Laporan ini bukan JSON Protobuf kanonis dan bukan validasi semantik aplikasi.
Mengapa file atau bagian yang dipilih ini tidak bisa dibaca?
Cocokkan nama pesan lengkap secara persis dan sediakan import lokal. Varint terpotong, tipe wire yang salah, kolom wajib yang hilang, dan skema yang tidak ada akan menjadi error. Jangan mendekode amplop aplikasi yang berbingkai atau terkompresi seolah-olah itu pesan mentah.
Apa yang sengaja tidak dilakukan oleh alat pemeriksa ini?
Pemeriksaan proto2/proto3 secara lokal; Editions dan ekstensi tidak didukung. Maksimal 16 file skema lokal dengan total 1 MiB, dan pesan sebesar 1 MiB. Tidak ada import jarak jauh, kode aplikasi hasil generasi, atau eksekusi; entri map yang duplikat tetap bisa diperiksa.