浅谈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 相关文章推荐
TFDN图片播放器 不错自动播放
Oct 03 Javascript
HTML node相关的一些资料整理
Jan 01 Javascript
javascript 词法作用域和闭包分析说明
Aug 12 Javascript
jquery 操作DOM案例代码分享
Apr 05 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
Dec 12 Javascript
使用firebug进行调试javascript的示例
Dec 16 Javascript
IE、FF浏览器下修改标签透明度
Jan 28 Javascript
javascript实现全局匹配并替换的方法
Apr 27 Javascript
JavaScript数组对象实现增加一个返回随机元素的方法
Jul 27 Javascript
原生JS实现图片左右轮播
Dec 30 Javascript
关于express与koa的使用对比详解
Jan 25 Javascript
微信小程序自定义多列选择器使用详解
Jun 21 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多态的实现详解
2013/06/09 PHP
php在linux下检测mysql同步状态的方法
2015/01/15 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
jQuery下通过replace字符串替换实现大小图片切换
2012/05/22 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
Jquery显示、隐藏元素以及添加删除样式
2013/08/09 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
删除节点的jquery代码
2014/01/13 Javascript
javascript闭包入门示例
2014/04/30 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
2015/05/03 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
移动端web滚动分页的实现方法
2017/05/05 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
纯javascript前端实现base64图片下载(兼容IE10+)
2018/09/14 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
[45:59]完美世界DOTA2联赛PWL S2 FTD vs GXR 第二场 11.22
2020/11/24 DOTA
Python脚本实现格式化css文件
2015/04/08 Python
在Python的Flask框架中实现单元测试的教程
2015/04/20 Python
Python开发的HTTP库requests详解
2017/08/29 Python
在Windows中设置Python环境变量的实例讲解
2018/04/28 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
使用python实现多维数据降维操作
2020/02/24 Python
python类共享变量操作
2020/09/03 Python
python switch 实现多分支选择功能
2020/12/21 Python
Otel.com:折扣酒店预订
2017/08/24 全球购物
公司部门司机岗位职责
2014/01/03 职场文书
小学端午节活动方案
2014/03/13 职场文书
亲属关系公证书
2014/04/08 职场文书
安全技术说明书
2014/05/09 职场文书
本科毕业生求职信
2014/06/15 职场文书
幼师求职自荐信
2015/03/26 职场文书
如何用threejs实现实时多边形折射
2021/05/07 Javascript
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏