JavaScript 字元 Unicode 表示法

admin發表於2020-04-14

JavaScript 原本就可以通過 Unicode 方式表示字元 ,ES2015 對其進行了加強。

首先看一段程式碼例項:

[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 表示方式,ES2015 之前就得到支援。

但在 ES2015 之前,只能表示 \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;}

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

相關文章