Zum Inhalt springen
uencoder

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. 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.

    Eingabe
    image.png (2048 bytes)
    输出
    Uint8Array[2048]
  2. 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.

    Eingabe
    2048 bytes
    输出
    ~2732 chars Base64
  3. 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.

Verwandte Tools

Verwandte Begriffe

参考链接