ForHosting KIT · Entwickler-Tools

Git-Base85-Kodierer

„hello“ wird zur Git-Base85-Zeile EXk~0{ZvX%Q, deren führendes E sagt, dass die Zeile fünf Bytes enthält: der Dialekt, den Git für Binärpatches nutzt, nicht Adobe-Ascii85. Sie kodieren Text oder rohe Bytes und dekodieren Zeilen. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Text
hello
Erhalten Sie
Ergebnis
EXk~0{ZvX%Q
Berechnungsmodus
Encode
Ausgabeformat
Text
Variante
git_base85

Git speichert binäre Dateiänderungen in Unified Diffs mit einem eigenen Base85-Dialekt, nicht Adobe Ascii85 und nicht schlichtes Base64. Jede Datenzeile beginnt mit einem Längenpräfix-Buchstaben—A bis Z für ein bis sechsundzwanzig dekodierte Bytes, a bis z für siebenundzwanzig bis zweiundfünfzig—gefolgt von fünf Alphabetzeichen für je vier Nutzdatenbytes. Entwickler, die GIT-binary-patch-Abschnitte prüfen, Apply-Fehler debuggen oder kompatible Werkzeuge bauen, brauchen einen Konverter, der genau dieses Alphabet und diese Zeilenform spricht.

Text oder Hex in Git-Base85-Zeilen kodieren

Für jeden Block schreibt sie ein Längenpräfix (A bedeutet ein Byte, B zwei, bis Z für sechsundzwanzig, dann a für siebenundzwanzig bis z für zweiundfünfzig) und expandiert jede Vierergruppe in fünf Zeichen aus Gits fünfundachtzig-Symbol-Alphabet: Ziffern, Groß- und Kleinbuchstaben sowie den Zeichensatz, der Anführungszeichen, Kommas, Punkte, Schrägstriche und Backslashes auslässt, damit Patches mail- und shell-freundlich bleiben. Eine kurze Schlussgruppe wird für die Arithmetik mit Nullen aufgefüllt und dann auf die richtige Anzahl Fünferblöcke gekürzt, sodass der Dekodierer die exakte Bytezahl allein aus dem Präfix gewinnt.

Setzen Sie format auf hex, wenn die Nutzlast rohe Binärdaten sind: text muss eine hexadezimale Zeichenkette gerader Länge sein (Leerzeichen und Unterstriche erlaubt), und diese Bytes werden ohne UTF-8-Schicht kodiert. Leere Eingabe ist gültig und liefert ein leeres Ergebnis mit null Bytes und null Zeilen. Der Pfad ist reine Arithmetik—kein Netz, kein Zufallssalz, keine Uhr—daher erzeugen identische Eingaben stets identische Base85-Körper für Continuous-Integration-Goldens.

Zeilen mit Längenpräfix dekodieren und ungültige Eingabe ablehnen

Setzen Sie mode auf decode und legen Sie eine oder mehrere Git-Base85-Zeilen in text. Leerzeilen werden ignoriert, damit Sie ein Fragment aus einem größeren Patch einfügen können. Nach dem Präfix muss der Rest genau das Fünffache der Anzahl benötigter Vierergruppen für die deklarierte Bytezahl sein—zu wenige oder zu viele Symbole sind ein Fehler, keine stille Kürzung.

Jedes kodierte Zeichen muss im Git-Alphabet liegen; ein aus Adobe Ascii85 entlehntes Symbol (zum Beispiel ein freies Kleiner-als oder ein z-Nullenlauf, den Git nicht nutzt) scheitert sofort, damit Sie nie versehentlich einen fremden Dialekt als Binärpatch-Körper anwenden. Erfolgreiches Dekodieren verkettet alle Zeilen der Reihe nach zu einem einzigen Bytepuffer. Bei format hex ist das Ergebnis eine kleingeschriebene Hex-Zeichenkette der gewonnenen Bytes—die praktische Wahl, wenn die Nutzlast zlib-komprimierte Literaldaten aus einem echten GIT binary patch und kein lesbarer Text ist.

Viele suchen einen Base85-Kodierer, nachdem sie Binärdaten in einem git diff gesehen haben, und landen bei Adobe-Ascii85-Werkzeugen mit anderem Alphabet, optionalen less-than-tilde-Hüllen und einem z-Kürzel für Nullenläufe. Gits Dialekt ist bewusst anders: fünfundachtzig feste Symbole ab der Ziffer null, verpflichtende Längenpräfixe pro Zeile, keine Adobe-Begrenzer und kein z-Kompressionstoken. Diese Seite bedient die git-spezifische Suchabsicht—git base85 kodierer, binärpatch base85, git base85 dekodieren—und konkurriert nicht mit einer allgemeinen Ascii85-Seite.

Ein anderer Ablauf fügt nur die Datenzeilen eines GIT binary patch ein (ohne literal-N-Kopf, falls die Größe bekannt ist) und gewinnt Bytes zur Prüfung. Halten Sie Nutzlasten bescheiden—dies ist ein Parse-Element der Stufe A, kein Packfile-Server—und pinnen Sie result-Zeichenketten in Goldens, weil der Algorithmus über Isolate und Sprachen mit derselben Tabelle vollständig deterministisch ist.

GIT-binary-patch-Körper prüfen

Dekodieren Sie Base85-Zeilen mit Längenpräfix aus einem git diff --binary, um die komprimierte Literal-Nutzlast per Hex-Dump zu sehen, ohne den ganzen Patch anzuwenden.

Wie dekodiere ich Base85-Zeilen eines Git-Binärpatches?

Setzen Sie mode auf decode und legen Sie die Zeilen mit Längenpräfix in text. Nutzen Sie format hex bei binärer Nutzlast; format text (Standard) liefert UTF-8, wenn die Bytes gültiges Unicode sind.

Was unterscheidet Git Base85 von Adobe Ascii85?

Git nutzt ein anderes 85-Zeichen-Alphabet, verlangt ein Längenpräfix pro Zeile (A–Z, a–z), verwendet keine <~ ~>-Begrenzer und implementiert Adobes z-Nullen-Kürzel nicht.

Was bedeutet der erste Buchstabe jeder Git-Base85-Zeile?

Er gibt die Länge der Zeile in Bytes an: A steht für eins, B für zwei, bis Z für 26, danach a für 27 bis z für 52. Eine Zeile enthält nie mehr als 52 Bytes, und der Decoder ermittelt daraus die genaue Bytezahl.

Kann ich rohe Bytes statt Text kodieren?

Ja. Wählen Sie die Hex-Option und geben Sie eine Hexadezimalfolge mit gerader Länge ein; Leerzeichen und Unterstriche sind erlaubt. Die Bytes werden dann direkt kodiert, ohne den Umweg über UTF-8-Text.

Was passiert bei einer ungültigen Git-Base85-Zeile?

Der Decoder bricht mit einer klaren Meldung ab, wenn der Längenbuchstabe ungültig ist, wenn nach ihm zu wenige oder zu viele Zeichen folgen oder wenn ein Zeichen nicht zum Git-Alphabet gehört, etwa das z aus Adobe-Ascii85.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/enc/base85-git

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/enc/base85-git \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"hello"}'
{
  "text": "hello"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.base85_git",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Diese Fähigkeit kodiert UTF-8-Text oder hexadezimale Bytes in Git-Base85-Zeilen und dekodiert sie zurück, wobei unzulässige Symbole, falsche Längenpräfixe und inkohärente Gruppengrößen mit invalid_input abgelehnt werden. Erfolgreiche API-Aufrufe kosten $0.002 pro Element; Validierungsfehler werden nicht berechnet.

Text oder Hex in Git-Base85-Zeilen kodieren

Senden Sie einen JSON-Body mit dem Pflicht-Stringfeld text und lassen Sie mode auf encode, oder setzen Sie mode ausdrücklich auf encode. Standardmäßig ist format text: die Engine kodiert Ihre Zeichenkette als UTF-8 und durchläuft die Bytes in Blöcken von höchstens zweiundfünfzig Oktetten—demselben Maximum, das Git auf jeder Binärpatch-Zeile nutzt. Die Antwort enthält result (zeilenweise verknüpft), mode encode, format, variant git_base85, bytes (Nutzlastlänge vor der Kodierung) und lines (nicht leere Ausgabezeilen).

Zeilen mit Längenpräfix dekodieren und ungültige Eingabe ablehnen

Jede nicht leere Zeile muss mit einem gültigen Längenbuchstaben beginnen; jedes andere erste Zeichen scheitert mit invalid_input und nennt die Längenpräfix-Regel. Bei format text (Standard) werden diese Bytes als UTF-8 mit fatalem Dekodierer gelesen: ungültige Sequenzen lösen invalid_input aus statt Ersatzzeichen, die nachgelagerte Diffs verderben würden. Die Antwort spiegelt mode decode, format, variant git_base85, bytes als dekodierte Länge und lines als Anzahl nicht leerer Eingabezeilen. Validierungsfehler werden auf der Prepaid-API nicht berechnet; verdächtige Einfügungen zu prüfen ist für Betreiber sicher und für Skripte günstig, die Merges vom Parse-Erfolg abhängig machen.

Unterschied zu Ascii85 und Nutzung der API

Nutzen Sie die Prepaid-KIT-API zu $0.002 pro erfolgreichem Element, wenn ein Backend, Bot oder Continuous-Integration-Job Git-Base85-Körper unter Saldo ausgeben oder prüfen muss; fehlgeschlagene Validierung verbraucht diesen Saldo nie.

Kompatible Test-Fixtures schreiben

Kodieren Sie bekannte Bytesequenzen in Git-Base85-Zeilen für Unit-Tests von Apply-Werkzeugen, Merge-Bots und Dokumentation, die Gits Alphabet und Längenpräfixe treffen muss.

Dialekt-Vermischung in CI abfangen

Lehnen Sie Adobe Ascii85 oder korrupte Einfügungen mit invalid_input ab, bevor eine Pipeline fremdes Base85 als gültigen Binärpatch-Körper behandelt.

Wie kodiere ich Text zu Git Base85?

Senden Sie JSON mit text gleich Ihrer Zeichenkette und mode encode (oder lassen Sie mode weg). Das Feld result hält zeilenweise verknüpfte Zeilen, jeweils mit Längenbuchstabe A–z, und bytes ist die UTF-8-Länge.

Was passiert bei ungültiger Base85-Eingabe?

Die Dekodierung scheitert mit invalid_input bei falschen Längenpräfixen, Zeichen außerhalb des Git-Alphabets, falschen Gruppengrößen oder ungültigem UTF-8, wenn format text ist. Validierungsfehler werden nicht berechnet.

Ist der Git-Base85-Kodierer kostenlos?

Das Browser-Werkzeug läuft kostenlos auf Ihrem Gerät. API-Aufrufe nutzen den Prepaid-KIT-Saldo zu $0.002 pro erfolgreichem Element; invalid_input-Antworten verbrauchen keinen Saldo.

Vollständige KIT-Dokumentation lesen →