浅谈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 相关文章推荐
判断JavaScript对象是否可用的最正确方法分析
Oct 03 Javascript
js cookies 常见网页木马挂马代码 24小时只加载一次
Apr 13 Javascript
动感效果的TAB选项卡jquery 插件
Jul 09 Javascript
js监听输入框值的即时变化onpropertychange、oninput
Jul 13 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
Jan 15 Javascript
浅析JavaScript动画
Jun 10 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
Jun 23 Javascript
JavaScript html5利用FileReader实现上传功能
Mar 27 Javascript
详解vue.js移动端导航navigationbar的封装
Jul 05 Javascript
Vue CL3 配置路径别名详解
May 30 Javascript
ES2020系列之空值合并运算符 '??'
Jul 22 Javascript
vue内置组件component--通过is属性动态渲染组件操作
Jul 28 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
一拳超人中怪人协会钦定! S级别最强四人!
2020/03/02 日漫
php等比例缩放图片及剪切图片代码分享
2016/02/13 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
PHP基于面向对象封装的分页类示例
2019/03/15 PHP
xtree.js 代码
2007/03/13 Javascript
jQuery 技巧大全(新手入门篇)
2009/05/12 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
js实现图片轮播效果
2015/12/19 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
2017/04/07 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
深入理解ES6 Promise 扩展always方法
2017/09/26 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
微信小程序canvas分享海报功能
2019/10/31 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
Django中实现点击图片链接强制直接下载的方法
2015/05/14 Python
python变量不能以数字打头详解
2016/07/06 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
Python常见数字运算操作实例小结
2019/03/22 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
解决django FileFIELD的编码问题
2020/03/30 Python
Python实现弹球小游戏
2020/08/01 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
大学校园生活自我鉴定
2014/01/13 职场文书
高二生物教学反思
2014/01/27 职场文书
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
委托证明模板
2014/09/16 职场文书
2016大学自主招生推荐信范文
2015/03/23 职场文书
重阳节活动主持词
2015/07/04 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers