Wie in Kodieren Binary Daten für JSON
Safely embed binary Daten wie images oder Datei Bytes in ein JSON Dokument mit Base64.
问题
JSON nur supports Text und Zahlen, aber you brauchen in include binary Daten (e.g., ein small image) inside ein JSON Payload.
Voraussetzungen
- Understanding of JSON structure
- Basic Base64 knowledge
Schritte
-
1. Read the binary data as bytes
Load the file or binary blob into memory as a byte array. Do not attempt to interpret it as text, as null bytes and non-UTF-8 sequences will corrupt the data.
Eingabeimage.png (2048 bytes)输出Uint8Array[2048] -
2. Base64-encode the bytes
Convert the byte array to a Base64 string. This produces an ASCII-safe representation that JSON can carry as a regular string field. The encoded size will be about 4/3 of the original.
Eingabe2048 bytes输出~2732 chars Base64 -
3. Embed in JSON and decode on receipt
Place the Base64 string as a JSON value. On the receiving end, Base64-decode it back to bytes and reconstruct the file. Add a field for the MIME type so the receiver knows how to handle it.
Eingabe{"data":"iVBOR...","type":"image/png"}输出reconstructed PNG file
Erwartetes Ergebnis
Ein JSON Zeichenkette containing Base64-encoded binary Daten das round-trips in der exact original Bytes.
Häufige Fehler
- JSON parse error due to invalid characters
- Ensure the binary data was Base64-encoded and not inserted as raw bytes. Raw binary is not valid JSON.
- Corrupted file after decoding
- Verify the Base64 string was not truncated by a length limit in transit. Check that the decoded byte count matches the original.
Troubleshooting指引
- If the payload is too large, consider sending the file via multipart upload instead of embedding in JSON.
- Always include the content type alongside the data so the receiver can interpret it correctly.
Sicherheitsgrenzen
- Base64 in JSON increases payload size by ~33%. Large binaries should be referenced by URL rather than embedded.