DevToys Web Pro iconDevToys Web ProBlogs
Novērtējiet mūs:
Izmēģiniet pārlūkprogrammas paplašinājumu:

Protobuf dekodētājs / kodētājs

Atkodēts
Formāts:

Base64 kodēts protobuf

  • Atkodētie lauki (2)

  • Lauks #Vada tipsVērtība
    1Varint(0)150
    2Length-delimited(2)testing
    Tehniskā informācija

    Kā darbojas Protobuf dekodētājs

    Ko rīks dara

    Protobuf dekodētājs parsē neapstrādātus Protocol Buffer bināros datus, neprasot .proto shēmas failu, un parāda wire-format lauku numurus, tipus un vērtības. Tas arī atbalsta JSON kodēšanu atpakaļ protobuf binārajā formātā, ja jūs nodrošināt .proto definīciju. Tas ļauj pārbaudīt necaurspīdīgus protobuf payloadus, kas iegūti no tīkla trafika vai glabāti datubāzēs, bez piekļuves oriģinālajai shēmai.

    Biežākie izstrādātāju lietošanas gadījumi

    Backend izstrādātāji izmanto bezshēmas protobuf dekodēšanu, lai reversi izpētītu nedokumentētas gRPC API, atkļūdotu serializētus ziņojumus Kafka tēmās vai pārbaudītu bināros payloadus datubāzes kolonās. Drošības pētnieki analizē protobuf kodētu tīkla trafiku penetrācijas testēšanas laikā. Kodēšanas režīms palīdz izstrādātājiem pārbaudīt, ka viņu .proto definīcijas rada gaidīto bināro izvadi pirms shēmas izmaiņu ieviešanas ražošanas pakalpojumos.

    Datu formāti, tipi vai varianti

    Protocol Buffers izmanto kompaktu wire formātu ar pieciem wire tipiem: varint (int32, int64, bool, enum), 64 bitu fiksētais (double, fixed64), garuma ierobežotais (string, bytes, iegultie ziņojumi, sapakoti atkārtoti lauki), 32 bitu fiksētais (float, fixed32) un novecojušie start/end group tipi. Bez shēmas dekodētājs nevar atšķirt virkni no iegulta ziņojuma (abi ir garuma ierobežoti), tāpēc tas mēģina abas interpretācijas un parāda visticamāko parsējumu.

    Biežākās kļūdas un robežgadījumi

    Dekodēšana bez shēmas pēc būtības ir divdomīga — varint var būt parakstīts int32 (zigzag), neparakstīts uint32 vai būla vērtība, un garuma ierobežotie lauki var būt virknes, baiti vai ligzdoti ziņojumi. Lauku nosaukumi binārajā kodējumā tiek pazaudēti un parādās tikai kā skaitliskas lauku atzīmes. Iepakoti atkārtoti lauki bez shēmas konteksta izskatās identiski vienam baitu laukam. Vienmēr salīdziniet dekodēto izvadi ar jebkuru pieejamo dokumentāciju, lai novērstu divdomības.

    Kad izmantot šo rīku, nevis kodu

    Izmantojiet šo pārlūkprogrammas rīku ātrai pārtverto protobuf slodžu pārbaudei, ja jums nav .proto faila vai vēlaties pārbaudīt kodējumu, neuzstādot būvēšanas rīku ķēdi. Ražošanas sistēmām izmantojiet protoc ar atbilstošiem shēmas failiem, valodai specifisku ģenerēto kodu un gRPC refleksijas pakalpojumus, kas nodrošina pilnu tipu drošību, uz priekšu saderību un integrāciju ar jūsu lietotnes būvēšanas sistēmu.