也許這只是我對unicode的不熟悉,所以如果我錯了,請糾正我。JSON指定「任何UNICODE字符」?
看着http://json.org/,該規範說,一個字符串可以包含「任何UNICODE字符」,但這使我感到困惑。
- JSON是一種通訊格式 是否正確?在它的核心, 一切都必須轉換爲 字節。
- 相比之下,UNICODE是一個 邏輯格式,必須編碼爲 才能夠傳輸它,對嗎?
那麼他們在那裏是什麼意思?
也許這只是我對unicode的不熟悉,所以如果我錯了,請糾正我。JSON指定「任何UNICODE字符」?
看着http://json.org/,該規範說,一個字符串可以包含「任何UNICODE字符」,但這使我感到困惑。
那麼他們在那裏是什麼意思?
從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
JSON是一種可以包含UNICODE字符的序列化格式。這個unicode字符串的字節表示通常通過線路發送,通常通過使用HTTP標頭的HTTP協議來指定客戶端的編碼爲UTF-8。
最新的RFC狀態: 注意:沒有爲此註冊定義「字符集」參數。 添加一個真正對兼容收件人沒有影響。 – 2015-04-14 09:06:09
你是正確的,一切都必須轉化爲字節,通常是一般是通過UTF(Unicode轉換格式)發生。 JSON RFC在section 3中解釋如何分辨正在使用的UTF。
當人們說「用Unicode編碼」時,我總是感到困惑,因爲(據我所知)Unicode是一個字符集,而不是編碼。不應該「應該使用Unicode字符集,默認編碼爲UTF-8」?我很驚訝在RFC中看到這樣的事情。 – ALEXintlsos 2016-06-23 18:57:53