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. 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éeimage.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.
entrée2048 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.
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.