浅谈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 UTC时间转换方法
Jan 07 Javascript
详解AngularJS控制器的使用
Mar 09 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
Sep 05 Javascript
javascript笔记之匿名函数和闭包
Feb 06 Javascript
从零学习node.js之搭建http服务器(二)
Feb 21 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
Mar 01 Javascript
JavaScript实现替换字符串中最后一个字符的方法
Mar 07 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
Apr 13 Javascript
vue-cli3环境变量与分环境打包的方法示例
Feb 18 Javascript
微信小程序学习笔记之本地数据缓存功能详解
Mar 29 Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
Jun 24 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
Sep 14 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
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
2019/03/12 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
解决vue.js 数据渲染成功仍报错的问题
2018/08/25 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
2019/12/20 jQuery
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
[02:07]2017国际邀请赛中国区预选赛直邀战队前瞻
2017/06/23 DOTA
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
Python中偏函数用法示例
2018/06/07 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
python如何判断IP地址合法性
2020/04/05 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
python 如何停止一个死循环的线程
2020/11/24 Python
Matplotlib中rcParams使用方法
2021/01/05 Python
介绍一下常见的木马种类
2014/11/15 面试题
高一历史教学反思
2014/01/13 职场文书
上课睡觉检讨书
2014/01/28 职场文书
计算机学生求职信范文
2014/01/30 职场文书
百年校庆节目主持词
2014/03/27 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
小学英语课教学反思
2016/02/15 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书
利用 Python 的 Pandas和 NumPy 库来清理数据
2022/04/13 Python