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