記js里codePointAt()方法返回的結果的含義。


經過《字符串的擴展》《字符編碼的那些事》這兩篇文章的閱讀,大概了解js里codePointAt方法返回結果的含義。

var str='𠮷';
console.log(str.codePointAt(0))//輸出134071

那么這個134071到底是這么來的呢?我們可以根據這段話來理解。

在http://tool.chinaz.com/tools/unicode.aspx這個網站上可以將”𠮷“轉換成“\ud842\udfb7”。
1.將\u去掉就會得到d842和dfb7這兩個十六進制數字。
2根據上圖反推:

0xd800 + x =0xd842
x = 42 = 0001000010(十六進制轉二進制)
0xdc00 + y =0xdfb7
y = 3b7 =1110110111(十六進制轉二進制)
讓后將x和y拼接起來就是00010000101110110111,轉成十六進制后得到0x10bb7,然后
0x10bb7 + 0x10000 = 0x20bb7 
再將結果轉成十進制就得到了 134071


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM