Base32768 Encoder
Packen Sie Text in Base32768, bei dem jedes Unicode-Zeichen fünfzehn Bit für UTF-16-Kanäle trägt: Aus Hello werden nur drei Zeichen, 䩲腻㐿. Beim Dekodieren werden jedes Symbol und die Auffüllung geprüft, beschädigte Kopien scheitern. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Text
- Hello
- Berechnungsmodus
- Encode
- Ergebnis
- 䩲腻㐿
- Länge
- 3
- Eingabe-Bytes
- 5
- Bits pro Zeichen
- 15
Base32768 ist eine Binär-zu-Text-Kodierung für Kanäle, die bereits UTF-16 sprechen: JavaScript-Strings, Java-String, Windows-Wide-APIs und viele Datenbanken mit NVARCHAR. Statt fünf oder sechs Bits in ein ASCII-Symbol zu packen wie Base32 und Base64 wählt Base32768 jedes Zeichen aus einem Repertoire von 32768 sicheren Codepunkten der Basic Multilingual Plane und trägt fünfzehn Nutzbits pro Zeichen. Das ergibt etwa 93.75 Prozent Effizienz, wenn das Ergebnis als UTF-16 gespeichert oder übertragen wird — deutlich dichter als Base64 auf derselben Leitung. Diese Fähigkeit implementiert das qntm-Base32768-Profil durchgängig: encode liest Ihren Klartext als UTF-8-Bytes und liefert ein Base32768-Ergebnis; decode prüft jedes Symbol gegen das primäre Fünfzehn-Bit-Alphabet und das sekundäre Sieben-Bit-Padding-Alphabet und stellt den ursprünglichen UTF-8-Text wieder her.
Wie Base32768 fünfzehn Bits in sichere BMP-Zeichen packt
Base32768 behandelt die Eingabe als kontinuierlichen Bitstrom roher Bytes. Bei Text wandelt diese Fähigkeit Ihre Zeichenkette zuerst mit UTF-8 um, damit Mehrbyte-Zeichen über Sprachen und Plattformen portabel bleiben. Bits werden vom höchstwertigen zum niedrigstwertigen gelesen.
Alle fünfzehn angesammelten Bits wählen einen Index in einem primären 32768-Einträge-Repertoire aus geschlossenen Bereichen zugewiesener, nicht steuernder, nicht-Whitespace-Unicode-Codepunkte in der Basic Multilingual Plane. Diese Bereiche meiden absichtlich Zeichen, die unter Unicode-Normalisierung zerbrechen, die Textrichtung stören oder wie Formatierung wirken, sodass die kodierte Zeichenkette in den meisten unicode-sauberen APIs sicher einfügbar ist. Ist der Rest kein voller Fünfzehn-Bit-Block, füllt der Encoder mit Einsen auf und endet mit einem primären Symbol oder einem eigenen siebenbitigen sekundären Padding-Symbol aus einem separaten 128-Einträge-Alphabet.
Die Dekodierung kehrt die Abbildung um: jedes Zeichen liefert fünfzehn oder sieben Bits, volle Bytes werden emittiert, sobald acht Bits anliegen, und die restlichen Padding-Bits müssen weiterhin alles Einsen sein. Ein sekundäres Padding-Zeichen vor der Endposition wird ebenfalls abgelehnt, weil dieses Muster in einer gültigen Kodierung nie vorkommt. Gegenüber Base64 tauschen Sie ein rein ASCII-Alphabet gegen deutlich höhere Dichte unter UTF-16; gegenüber Base65536 bleiben Sie in der BMP, sodass jedes Zeichen eine einzelne UTF-16-Codeeinheit ist.
Wo Base32768 in der Praxis vorkommt
Systeme, die Binärblobs in UTF-16-Textspalten speichern, brauchen oft dichteres Packen als Base64 ohne die BMP zu verlassen. Teams, die bereits die qntm-Dichte-Kodierungsfamilie standardisiert haben, nutzen Base32768 bei UTF-16-nativen Kanälen und Base2048 oder Base65536 bei anderen Vorgaben. Support-Desks fügen opake Zeichenketten aus Tickets ein und brauchen strenge Alphabetprüfung ohne Müllsymbole, die eine falsche Nutzlast erzeugen würden.
Lehrende, die Kodierungsdichte unter verschiedenen Unicode-Formen vermitteln, wollen eine eigene Base32768-Seite statt sie unter einer generischen Base64-Landing zu vergraben, weil Suchintention, Alphabetregeln und Effizienzwerte abweichen. Brauchen Sie RFC-4648-Base32 für TOTP-Geheimnisse, URL-sicheres Base64 oder basE91-Dichte unter UTF-8, behandeln Sie diese als getrennte Suchintentionen und Landings statt diese Base32768-Encoder-Seite zu überladen.
Anwendungsfälle
UTF-16-dichte opake Token
Kodieren Sie kurze binärsichere Nutzlasten als Base32768 für NVARCHAR-Spalten, JavaScript-Strings oder Zwischenablage, wenn UTF-16-Dichte wichtiger ist als ASCII-Sicherheit.
Häufige Fragen
Welches Base32768-Profil verwendet diese Fähigkeit?
Das qntm-Base32768-Profil: 32768 primäre BMP-Codepunkte mit je fünfzehn Bits plus ein sekundäres 128-Einträge-Alphabet für das abschließende siebenbitige Padding-Symbol bei Bedarf.
Kann ich kodieren und dekodieren?
Ja. Setzen Sie mode auf encode (Standard), um Klartext-UTF-8 in Base32768 zu wandeln, oder mode auf decode, um Text aus einer Base32768-Zeichenkette wiederherzustellen.
Warum ist Base32768 unter UTF-16 dichter als Base64?
Jedes Base32768-Zeichen ist eine einzelne BMP-Codeeinheit (16 Bit UTF-16) mit fünfzehn Nutzbits, etwa 93.75 Prozent Effizienz. Base64 braucht zwei UTF-16-Einheiten für zwölf ASCII-Nutzbits, daher ist die Dichte auf UTF-16-Leitungen viel geringer.
Warum wird Hello zu nur drei Zeichen?
Weil jedes Base32768-Zeichen fünfzehn Bit trägt. Hello umfasst fünf Bytes, also vierzig Bit, deshalb genügen drei Zeichen, wobei der Rest des letzten Zeichens mit Einsen aufgefüllt wird.
Übersteht Base32768 das Kopieren durch andere Programme?
Meist ja, sofern das Programm Unicode sauber behandelt. Der Zeichenvorrat meidet Zeichen, die bei der Normalisierung zerfallen, die Schreibrichtung verwirren oder wie Formatierung aussehen, und bleibt in der Basic Multilingual Plane, sodass jedes Zeichen genau eine UTF-16-Einheit ist.
Verwandte Tools
Für Entwickler — API-Zugang
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.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/enc/base32768 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello"}'const res = await fetch("https://api.kit.forhosting.com/enc/base32768", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/base32768",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/base32768", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/base32768", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text": "Hello"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base32768",
"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.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Ungültige Symbole, falsch platzierte Padding-Zeichen und Padding-Bit-Abweichungen scheitern sofort mit invalid_input, damit verdorbene Einfügungen nie erfolgreich wirken.
Wie Base32768 fünfzehn Bits in sichere BMP-Zeichen packt
Jedes Zeichen außerhalb beider Repertoires löst invalid_input aus. Der gesamte Pfad ist deterministische Ganzzahlarbeit ohne Netz, ohne Zufallssamen und ohne Wanduhr — identische Eingaben erzeugen stets identisches JSON.
Was Sie senden und was Sie zurückerhalten
Senden Sie ein Pflicht-Zeichenkettenfeld namens text und optional mode mit encode oder decode. Fehlt mode, ist encode der Standard und eine einzelne Nutzlast bleibt nützlich. Encode behandelt text als Klartext-UTF-8 und liefert eine result-Zeichenkette in den Base32768-Alphabeten. Decode behandelt text als Base32768, prüft jedes Symbol und liefert den wiederhergestellten UTF-8-Text in result. Klassische Checks sind das Kodieren von Hello zu einem kurzen dreizeichenigen Base32768-Block, das Kodieren von hello world zur bekannten Referenzzeichenkette des Formats und das Dekodieren dieser Zeichenkette zurück zur ursprünglichen elf Byte großen Nutzlast. Beide Richtungen spiegeln mode, den ursprünglichen text, result, ein length-Feld der primären Ausgabezeichenkette, bits_per_char auf fünfzehn, alphabet- und plane-Labels sowie eine kurze Standardreferenz, damit Clients das Profil prüfen können. Encode meldet außerdem input_bytes; decode meldet output_bytes. Fehlendes text, Nicht-String-Objekte, nicht unterstützte mode-Werte, Zeichenketten über dem dokumentierten Maximum, unerkannte Base32768-Zeichen, ein sekundäres Padding-Zeichen vor dem Ende, Padding-Bit-Abweichungen oder dekodierte Bytes, die kein gültiges UTF-8 sind, scheitern mit invalid_input und einer klaren englischen Meldung. Validierungsfehler verbrauchen kein Prepaid-Guthaben. Der Preis erfolgreicher API-Aufrufe ist die veröffentlichte Basis von $0.002 pro Element.
Wo Base32768 in der Praxis vorkommt
Spiele-Save-Blobs in JSON, kompakte Konfigurationsfingerabdrücke über Zwischenablage-APIs und kurze Offline-Token, die JavaScript-String-Rundreisen überstehen müssen, profitieren alle von fünfzehn Bits pro Zeichen. Weil diese Fähigkeit ein reiner Parse-Motor ist, gilt der veröffentlichte API-Preis von $0.002 pro erfolgreichem Element und fehlgeschlagene Validierung wird nicht berechnet.
Integrationsbeispiele
Golden-Fixtures über Runtimes
Erzeugen Sie Encode- und Decode-Vektoren passend zur qntm-Base32768-Referenz, damit mehrsprachige CI eine gemeinsame Wahrheit für Fünfzehn-Bit-Packing teilt.
Strenge Einfüge-Validierung
Dekodieren Sie vom Benutzer eingefügte Base32768-Zeichenketten mit klaren invalid_input-Fehlern, wenn ein Symbol außerhalb des primären oder sekundären Alphabets liegt.
Technische Fragen
Was passiert bei einem ungültigen Base32768-Zeichen?
Die Dekodierung scheitert mit invalid_input und beschreibt das unerkannte Symbol oder das Padding-Problem. Für Validierungsfehler wird nichts berechnet.
Was kostet es?
Das Browser-Werkzeug ist kostenlos und läuft lokal. API-Anfragen nutzen vorab bezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Element; ungültige Eingabe wird nicht berechnet.