浅谈JavaScript字符集


Posted in Javascript onMay 22, 2014

JavaScript是区分大小写的:

关键字、变量、函数名、和所有的标识符都必须采用一致的大小写(一般我们都是写成小写的),这样和当初学C#的多样式写法有很大的区别。

比如:(这里以变量str和Str为例)

var str='abc';
var Str='ABC';
alert(str);//输出abc

浅谈JavaScript字符集

假如str与Str为同一变量,那么alert(str);,输出的结果应为为ABC而不是如上图所示abc。这恰恰说明:JavaScript是区分大小写的。

Unicode转义序列

Unicode字符集的出现是为了弥补ASCII码只能表示128个字符的限制,而日常中我们想显示汉字和日文的话,显然ASCII是不可能的了。所以说Unicode是ASCII和Latin-1的超集。首先,JavaScript程序都是用Unicode字符集编写而成的,但在一些计算机硬件和软件里根本无法完整地显示或者输入Unicode字符全集(比如:é),为了解决这一现象JavaScript定义了一种特殊序列,这种序列使用6个ASCII字符来代表任意16位Unicode内码,这种特殊序列统称为Unicode转义序列,它均以\u为前缀,其后跟随4个十六进制数

比如:

var str='caf\u00e9';
var Str='café';
alert(Str+' '+str);// 可以看出显示都是一样的效果。
alert (Str===str);//输出true

浅谈JavaScript字符集浅谈JavaScript字符集

但我们应该注意一点,Unicode是允许多种方法对同一字符进行编码的,用上述的é转义的例子来说明:

é:

1.可以使用Unicode字符\u00E9表示

2.亦可用e\u0301(语调字符)表示

var str='caf\u00e9';
var Str='cafe\u0301';
alert(str+' '+Str); //如下图所示,Str和str所输出的结果都是一样的
alert(Str===str); //结果是一样的,可它们的二进制编码表示根本不一样,所以输出false

虽然显示在文本编辑器上的结果是一样的,可是它们的二进制编码表示根本不一样,而编程语言最终都会转化为本地平台的计算机机械码(二进制编码),计算机只能通过对二进制编码的比较才能得知结果,所以它们比较最终的结果只能是false

所以这正是 “Unicode是允许多种方法对同一字符进行编码的”最好的解释,因为Unicode标准为所有字符定义了一个首选的编码格式以便于将文本转化成统一格式的Unicode转义序列以合适比较

再次以é为例:

比较facé与café中的é是否相同?

facé与café中的é都转化为\u00E9或者都转化为e\u0301,才能比较facé与café中的é

Javascript 相关文章推荐
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
Nov 22 Javascript
jsp网页搜索结果中实现选中一行使其高亮
Feb 17 Javascript
jquery统计用户选中的复选框的个数
Jun 06 Javascript
JS不能跨域借助jquery获取IP地址的方法
Aug 20 Javascript
js 操作符汇总
Nov 08 Javascript
jQuery验证插件 Validate详解
Nov 20 Javascript
jQuery实现友好的轮播图片特效
Jan 12 Javascript
JavaScript获取表单enctype属性的方法
Apr 02 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
Apr 28 Javascript
vue 移动端注入骨架屏的配置方法
Jun 25 Javascript
微信小程序使用npm包的方法步骤
Aug 13 Javascript
Node.js从字符串生成文件流的实现方法
Aug 18 Javascript
对new functionName()定义一个函数的理解
May 22 #Javascript
教你如何使用PHP输出中文JSON字符串
May 22 #Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
May 22 #Javascript
JS常用表单验证方法总结
May 22 #Javascript
一个Action如何调用两个不同的方法
May 22 #Javascript
选择复选框按钮置灰否则按钮可用
May 22 #Javascript
JavaScript获取路径设计源码
May 22 #Javascript
You might like
php设计模式 Factory(工厂模式)
2011/06/26 PHP
PHP程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
洪恩在线成语词典小偷程序php版
2012/04/20 PHP
php截取后台登陆密码的代码
2012/05/05 PHP
基于Zend的Config机制的应用分析
2013/05/02 PHP
php命令行用法入门实例教程
2014/10/27 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
激活 ActiveX 控件
2006/10/09 Javascript
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
JavaScript asp.net 获取当前超链接中的文本
2009/04/14 Javascript
javascript 类方法定义还是有点区别
2009/04/15 Javascript
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
在JavaScript中如何访问暂未存在的嵌套对象
2019/06/18 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
python对字典进行排序实例
2014/09/25 Python
Django实现组合搜索的方法示例
2018/01/23 Python
Python 查看文件的读写权限方法
2018/01/23 Python
python简易远程控制单线程版
2018/06/20 Python
Python测试Kafka集群(pykafka)实例
2019/12/23 Python
python 画图 图例自由定义方式
2020/04/17 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
C语言变量的命名规则都有哪些
2013/12/27 面试题
安全生产责任书范本
2014/04/15 职场文书
给老婆的保证书范文
2014/04/28 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
农业项目合作意向书
2015/05/08 职场文书
使用 Apache 反向代理的设置技巧
2022/01/18 Servers