Aller au contenu
uencoder

Comment en Coder Binary Données pour JSON

Safely embed binary données comme images ou fichier octets en un JSON document utilisant Base64.

问题

JSON seulement supports texte et nombres, mais you besoin en include binary données (e.g., un small image) inside un JSON payload.

Prérequis

  • Understanding of JSON structure
  • Basic Base64 knowledge

Étapes

  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.

    entrée
    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.

    entrée
    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.

    entrée
    {"data":"iVBOR...","type":"image/png"}
    输出
    reconstructed PNG file

Résultat attendu

Un JSON chaîne containing Base64-encoded binary données ce round-trips en le exact original octets.

Erreurs courantes

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.

Dépannage指引

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

Limites de sécurité

  • Base64 in JSON increases payload size by ~33%. Large binaries should be referenced by URL rather than embedded.

Outils associés

Termes associés

参考链接