Varint-kodare för Protocol Buffers

Ange ett heltal utan tecken för att koda det som en protobuf-varint.

Så här använder du

  1. Ange dina värden i fälten ovan.
  2. Tryck på Beräkna för att se resultatet direkt.
  3. Använd Dela-knappen för att kopiera en länk till ditt resultat.

Om denna kalkylator

Protocol Buffers, Googles binära serialiseringsformat, kodar heltal med varint med bas 128 för att spara utrymme på små tal: varje byte bär 7 bitar av värdet plus en fortsättningsbit (den mest signifikanta biten) som sätts till 1 om fler byte följer och till 0 på den sista byten. Det betyder att små heltal — den överväldigande majoriteten i verkliga protobuf-meddelanden, som fältlängder, enumvärden och ID:n — kodas i bara en byte i stället för de fyra eller åtta som ett heltal med fast bredd alltid skulle kosta, vilket är hela anledningen till att protobuf-meddelanden blir så kompakta vid överföring.

Den här kalkylatorn utgår från ett heltal utan tecken och kodar det till dess varint-bytesekvens, med varje byte visad både i hex och binärt så att du kan se fortsättningsbitarna i arbete. Backendutvecklare som felsöker ett problem med protobufs överföringsformat, utvecklare som skriver en egen protobuf-parser eller serialiserare utan ett genererat bibliotek och studenter som lär sig binära kodningsscheman använder den för att manuellt verifiera att ett värdes bytekodning stämmer med vad deras kod producerar eller förväntar sig.

Var det här till hjälp?

Du kan välja upp till 3 reaktioner.

Kommentarer

  • Bli först med att kommentera.

Populära kalkylatorer

Alla räknare