首页 > 代码库 > JavaScript字符集--------Unicode转义序列
JavaScript字符集--------Unicode转义序列
Unicode是ASCII和Latin-1的超集。
JavaScript程序都是用Unicode字符集编写而成的,但在一些计算机硬件和软件里根本无法显示或者输入Unicode字符全集,为了解决这一现象JavaScript定义了一种特殊序列,这种序列使用6个ASCII字符来代表任意16位Unicode内码,这种特殊序列统称为Unicode转义序列,它均以\u为前缀,其后跟随4个十六进制数,
比如:
“café”===”caf\u00e9” // =>true
但我们应该注意一点,Unicode是允许多种方法对同一字符进行编码的,用上述的é转义的例子来说明:
é:
- 可以使用Unicode字符\u00E9表示
- 亦可用e\u0301(语调字符)表示
假如用这两个Unicode转义字符进行比较,计算机得出的结果反而不相同
“\u00E9”===“e\u0301” //false
虽然显示在文本编辑器上的结果是一样的,可是它们的二进制编码表示根本不一样,而编程语言最终都会转化为本地平台的计算机机械码(二进制编码),计算机只能通过对二进制编码的比较才能得知结果,所以它们比较最终的结果只能是false
所以这正是 “Unicode是允许多种方法对同一字符进行编码的”最好的解释,因为Unicode标准为所有字符定义了一个首选的编码格式以便于将文本转化后合适比较
再次以é为例:
比较facé与café中的é是否相同?
facé与café中的é都转化为\u00E9或者都转化为e\u0301,才能比较facé与café中的é是否相同
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。