浅谈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函数
Apr 09 Javascript
实现JavaScript中继承的三种方式
Oct 16 Javascript
jquery radio 操作代码
Mar 16 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
Mar 05 Javascript
js全选实现和判断是否有复选框选中的方法
Feb 17 Javascript
通过扫描二维码打开app的实现代码
Nov 10 Javascript
微信小程序 开发经验整理
Feb 15 Javascript
Vue框架中正确引入JS库的方法介绍
Jul 30 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
Sep 28 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
Dec 26 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
Dec 14 Javascript
js实现点击上传图片并设为模糊背景
Aug 02 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
PHP中创建图像并绘制文字的例子
2014/11/19 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
jQuery的一些注意
2006/12/06 Javascript
js left,right,mid函数
2008/06/10 Javascript
Document 对象的常用方法
2009/07/31 Javascript
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
jquery获取div距离窗口和父级dv的距离示例
2013/10/10 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
Jquery遍历select option和添加移除option的实现方法
2016/08/26 Javascript
Vue的Flux框架之Vuex状态管理器
2017/07/30 Javascript
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
Node.js EventEmmitter事件监听器用法实例分析
2019/01/07 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
Python实现Linux中的du命令
2017/06/12 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
python使用xlrd模块读取xlsx文件中的ip方法
2019/01/11 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
关于python字符串方法分类详解
2019/08/20 Python
Python imageio读取视频并进行编解码详解
2019/12/10 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
深入了解Python 变量作用域
2020/07/24 Python
师范毕业生求职自荐信
2013/09/25 职场文书
动物科学专业毕业生的自我评价
2013/11/29 职场文书
十八大报告观后感
2014/01/28 职场文书
艺术学院毕业生自我评价
2014/03/02 职场文书
电力培训心得体会
2014/09/02 职场文书
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS