JSON указывает “какой-либо символ UNICODE”?

Возможно, это - просто мое отсутствие близости с unicode, поэтому исправьте меня, если я ошибаюсь.

Смотря на http://json.org/, спецификация говорит, что строка может включать "любой символ UNICODE", но это смущает меня.

  • JSON является коммуникационным корректным форматом? В ядре его все должно перевести вниз в байты.
  • Напротив, UNICODE является логическим форматом и должен быть закодирован, чтобы смочь передать его, правильно?

Таким образом, что они имели в виду там?

7
задан abatishchev 3 May 2010 в 16:29
поделиться

3 ответа

Из RFC:

3.  Encoding

   JSON text SHALL be encoded in Unicode.  The default encoding is
   UTF-8.

   Since the first two characters of a JSON text will always be ASCII
   characters [RFC0020], it is possible to determine whether an octet
   stream is UTF-8, UTF-16 (BE or LE), or UTF-32 (BE or LE) by looking
   at the pattern of nulls in the first four octets.

           00 00 00 xx  UTF-32BE
           00 xx 00 xx  UTF-16BE
           xx 00 00 00  UTF-32LE
           xx 00 xx 00  UTF-16LE
           xx xx xx xx  UTF-8
16
ответ дан 6 December 2019 в 09:18
поделиться

JSON - это формат сериализации, который может включать символы UNICODE. Байтное представление этой строки Unicode обычно отправляется по сети, обычно через протокол HTTP, который использует заголовки HTTP для указания кодировки клиенту, который является UTF-8.

3
ответ дан 6 December 2019 в 09:18
поделиться

Вы правы, что все должно переводиться в байты, и обычно это происходит через UTF (формат преобразования Unicode). JSON RFC объясняет в разделе 3 , как определить, какой UTF используется.

1
ответ дан 6 December 2019 в 09:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: