在傳輸json數據時,可能會遇到需要傳輸unicode字符的情況。那么該如何正確地傳輸呢?
{ "name": "\u5f20\u4e09" }
像上面的代碼中,"name"這個屬性的值為"\u5f20\u4e09",這是unicode編碼下的"張三"。在json代碼中,可以使用\u加上4個十六進制數字來表示一個unicode字符。在傳輸時,只需要按照這種格式傳輸即可。
如果需要在javascript中將unicode編碼的字符轉化為實際的字符,可以使用javascript的String.fromCharCode方法,將四個十六進制數字轉化為對應的unicode字符。
var name = "\u5f20\u4e09"; console.log(name); // 輸出:張三
在使用String.fromCharCode方法時,需要將unicode編碼的字符按照每四個數字為一組,分別轉化為對應的unicode字符。
var name = ""; var unicodeCodes = ["5f20", "4e09"]; for(var i = 0; i < unicodeCodes.length; i++){ var unicodeCode = unicodeCodes[i]; var unicodeChar = String.fromCharCode("0x" + unicodeCode); name += unicodeChar; } console.log(name); // 輸出:張三