IOS、Android html5頁面輸入的表情符號變成了亂碼”???“


錯誤截圖:

參考了以下文章

http://crocodillon.com/blog/parsing-emoji-unicode-in-javascript

http://www.07net01.com/2015/08/896224.html

http://blog.sina.com.cn/s/blog_4d25c9870100epc1.html

 

Javascript定義的String編碼是UTF-16,兩個字節一個字符。

Unicode范圍U+0000至U+FFFF的字符是沒問題的,超過此范圍的需要兩個編碼單元表示。

表情符號的Unicode值超過U+FFFF,通過正則表達過濾出表情符號,根據兩個編碼單元的UTF-16值,計算出表情符號的html實體字符(&#編號;),即可正常顯示。

文章中也有通過Unicode轉UTF-16,來獲取表情符號值范圍的計算。

U值 < 0x10000,U的編碼就是無符號的十六位整數,值和其本身的值一樣,即Unicode與UTF-16的值是一樣的。


免責聲明!

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



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