探索 JavaScript 字串的 codePointAt() 方法。
這個方法在 ES2015 中被引入,用於處理無法用一個 16 位元 Unicode 單元表示的 Unicode 字元,而需要使用兩個。
使用 charCodeAt()
你需要取得第一個和第二個單元,然後結合它們。使用 codePointAt()
可以在一次呼叫中取得整個字元。
舉個例子,這個中文字「𠮷」由兩個 UTF-16(Unicode)部分組成:
"𠮷".charCodeAt(0).toString(16) //d842
"𠮷".charCodeAt(1).toString(16) //dfb7
如果你結合這兩個 Unicode 字元來建立一個新的字元:
"\ud842\udfb7" //"𠮷"
你可以使用 codePointAt()
得到相同的結果:
"𠮷".codePointAt(0) //20bb7
如果你結合這兩個 Unicode 字元來建立一個新的字元:
"\u{20bb7}" //"𠮷"
想要了解更多關於 Unicode 及如何處理 Unicode 的相關資訊,可以參考Unicode and UTF-8。