Какова наиболее эффективная кодировка для JSON (UTF-8/16/32) для использования двоичных данных в кодировке base64?
{ data: "jA0EAwMCxamDRMfOGV5gyZPnyX1BB" }
Какова наиболее эффективная кодировка для JSON (UTF-8/16/32) для использования двоичных данных в кодировке base64?
{ data: "jA0EAwMCxamDRMfOGV5gyZPnyX1BB" }
Base64 — это ASCII, поэтому, если большая часть вашего JSON представляет собой данные, закодированные в Base64, наиболее эффективной кодировкой будет UTF-8. UTF-8 кодирует символы ASCII (кодовые точки 0000–007F) как один байт, тогда как UTF-16 и UTF-32 кодируют их как два и четыре соответственно.
Кроме того, рекомендуется использовать UTF-8, потому что это кодировка по умолчанию для JSON, и не все инструменты поддерживают другие кодировки. Из RFC-7159:
8.1 Кодировка символов
Текст JSON ДОЛЖЕН быть закодирован в UTF-8, UTF-16 или UTF-32. Кодировка по умолчанию — UTF-8, а тексты JSON, закодированные в UTF-8, совместимы в том смысле, что они будут успешно прочитаны максимальным числом реализаций; существует множество реализаций, которые не могут успешно читать тексты в других кодировках (например, UTF-16 и UTF-32).