JavaScript 字元 Unicode 表示法

admin發表於2020-04-14

ES2015 增強了對  Unicode 的支援,可以採用 "\uxxxx" 表示一個字元。

反斜槓(\)+ u +十六進位制碼點,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
console.log("\u0041" === "A");

谷歌開發者工具控制檯執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/202004/14/000839ggg0znu0liu3plyv.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

"\u0041" 就是字元 "A" 的 Unicode 表示方式。

但上述方式只能表示 \u0000——\uFFFF 之間字元,超出碼點需要用兩個雙位元組形式。

看如下程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
console.log("\uD842\uDFB7");

谷歌開發者工具控制檯執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/202004/14/000905opestpg2ez22o2dw.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上述字元的碼點是十六進位制的 20BB7,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
console.log("\u20BB7");

谷歌開發者工具控制檯執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/202004/14/000933dl1eemima33j5mml.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

可以看到,列印出了兩個字元,而不是我們想要的字元。

ES2015 對 Unicode  表示法進行改進,解決了上述問題,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
console.log("\u{20BB7}");

谷歌開發者工具控制檯執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/202004/14/000959xgnz1gdx9xrerwxr.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

將碼點放入大括號即可,大小碼點通吃。

相關文章