So wandeln Sie Dezimal in Base64 um
- Fügen Sie die Zahlen in Eingabe · Dezimal-Bytes ein. Jede Zahl ist ein Byte.
- Das Base64 erscheint während der Eingabe in Ausgabe · Base64.
- Unter der Ausgabe behält oder entfernt Padding (=) die
=am Ende, und Zeilenumbruch teilt lange Ausgaben bei 64 oder 76 Zeichen. - Ausgabe kopieren, oder wechseln Sie zur Kontrolle zu Base64 → Dezimal-Bytes. Base64 in Dezimal ist dasselbe Tool in umgekehrter Richtung.
Eingabeformate
| Eingabe | Quelle | Base64 |
|---|---|---|
72 105 33 | einfache Liste | SGkh |
[72, 105, 33] | JSON, Python list(b) | SGkh |
{72, 105, 33} | Initialisierer in C oder Java | SGkh |
72;105;33 | CSV-Exporte mit ; | SGkh |
[72, 105, -1] | Java Arrays.toString(bytes) | SGn/ |
072 105 | mit Nullen aufgefüllte Spalten | SGk= |
Mit Nullen aufgefüllte Zahlen werden dezimal gelesen, 072 ist also 72. Jeder Wert muss eine ganze Zahl von −128 bis 255 sein. Ein Wert außerhalb dieses Bereichs bricht die Umwandlung ab, und die Meldung nennt ihn; ein verirrter Buchstabe oder ein Punkt wie in 72.105 wird mit seiner Position gemeldet, und Anzeigen markiert ihn.
Enthält die Liste Hex-Werte wie 48 69 21, würden sie als die Dezimalzahlen 48, 69 und 21 gelesen und ein anderes Ergebnis liefern. Nehmen Sie dafür Hex in Base64. Für Arrays aus Quellcode mit 0x-Werten, Casts oder Typnamen passt Byte-Array in Base64 besser.
Woher dezimale Bytelisten stammen
Die meisten dezimalen Bytelisten entstehen, wenn eine Programmiersprache Binärdaten auf ihre Standardweise ausgibt:
| Wo | Was für Hi! ausgegeben wird |
|---|---|
Python list(b"Hi!") | [72, 105, 33] |
Node.js JSON.stringify(Buffer.from("Hi!")) | {"type":"Buffer","data":[72,105,33]} |
Java Arrays.toString("Hi!".getBytes()) | [72, 105, 33] |
JavaScript Array.from(new TextEncoder().encode("Hi!")) | [ 72, 105, 33 ] |
Wandeln Sie eine solche Liste in Base64 um, erhalten Sie eine kompakte Zeichenkette für eine Konfigurationsdatei, ein Test-Fixture oder einen API-Request. 72, 105, 33 hat 11 Zeichen, das Base64 SGkh hat 4.
Dezimal in Base64 im Code
import base64
base64.b64encode(bytes([72, 105, 33])).decode() # 'SGkh'
bytes() wirft bei negativen Werten ValueError: bytes must be in range(0, 256). Wandeln Sie vorzeichenbehaftete Bytes im Java-Stil vorher mit [v & 0xff for v in values] um.
Buffer.from([72, 105, 33]).toString("base64"); // 'SGkh'
Buffer.from nimmt jeden Wert stillschweigend modulo 256, -1 wird also zu 255 und 256 ohne Warnung zu 0. Das Tool oben lehnt 256 ab und entlarvt so Listen, die gar keine Bytes sind. Mehr auf den Seiten zu Python und Node.js.
Zahlen, die keine Bytes sind
Eine einzelne große Zahl wie eine Benutzer-ID, ein Zeitstempel oder ein Zähler hat keine eindeutige Base64-Form, bis Sie festlegen, wie viele Bytes sie belegt und in welcher Reihenfolge. Die Unix-Zeit 1700000000 als 4-Byte-Wert in Big-Endian ist ZVPxAA==, als 8 Bytes AAAAAGVT8QA=. Wählen Sie das Layout, das das empfangende System erwartet, und kodieren Sie es im Code; diese Seite lehnt Werte über 255 bewusst ab, damit eine Liste von 16- oder 32-Bit-Zahlen nicht für Bytes gehalten wird.
Häufige Fragen
Kann ich eine einzelne Zahl wie 1000 in Base64 umwandeln?
Nicht auf dieser Seite, denn hier ist jede Zahl ein Byte, und 1000 passt in keines. Legen Sie fest, wie viele Bytes und welche Byte-Reihenfolge die Zahl haben soll, und kodieren Sie dann diese Bytes. In Python ergibt base64.b64encode((1000).to_bytes(2, "big")) den Wert A+g=.
Welche Trennzeichen kann ich zwischen den Zahlen verwenden?
Leerzeichen, Tabs, Zeilenumbrüche, Kommas und Semikolons, beliebig gemischt. Eckige, geschweifte und runde Klammern werden ignoriert, ein JSON-Array oder ein C-Initialisierer lässt sich also unverändert einfügen.
Wie werden negative Zahlen behandelt?
−1 bis −128 werden als vorzeichenbehaftete Bytes gelesen, so wie Java und Kotlin sie ausgeben: −1 ist 255 und −128 ist 128. Alles unter −128 ist ein Fehler.
Wie wandle ich ein JSON-Byte-Array in Base64 um?
Fügen Sie das Array samt Klammern ein. Bei Objekten der Form {"type":"Buffer","data":[...]} aus Node fügen Sie nur das Array data ein.