相关疑难解决方法(0)

JSON.stringify不应该转义Unicode字符吗?

我有一个简单的UTF-8测试页面,其中带有多种不同语言字母的文本被字符串化为JSON:

http://jsfiddle.net/Mhgy5/

HTML:

<textarea id="txt">
?? • Busca • Sök • ?? • Tìm ki?m • ????? • Cerca • Søk • Haku • Hledání • Keresés • ?? • Cari • Ara • ????? • C?utare • ??? • H?ada? • Søg • Ser?u • ???????? • Paieška • Poiš?i • Cari • ????? • ??????? • ????? • Bilatu • Suk • Bilnga • Traži • ?????
</textarea>
<button id="encode">Encode</button>
<pre id="out">
</pre>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

?$("#encode").click(function () {
    $("#out").text(JSON.stringify({ …
Run Code Online (Sandbox Code Playgroud)

javascript unicode json

10
推荐指数
3
解决办法
3万
查看次数

为什么 JSON 编码 UTF-16 代理对而不是直接编码 Unicode 代码点?

为了对不在基本多语言平面中的代码点进行转义,字符被表示为十二个字符的序列,对 UTF-16 代理项对进行编码。因此,例如,仅包含 G 谱号字符 (U+1D11E) 的字符串可以表示为"\uD834\uDD1E"

ECMA-404:JSON 数据交换格式

我相信根本不需要编码这个字符,所以它可以直接表示为"". 但是,如果希望对其进行编码,则必须根据规范将其编码为"\uD834\uDD1E",而不是(看起来很合理)为"\u1d11e". 为什么是这样?

unicode json specifications ecma

6
推荐指数
1
解决办法
3776
查看次数

标签 统计

json ×2

unicode ×2

ecma ×1

javascript ×1

specifications ×1