浅谈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全部源代码
May 04 Javascript
用js正确判断用户名cookie是否存在的方法
Jan 28 Javascript
JS实现CheckBox复选框全选全不选功能
May 06 Javascript
JavaScript图片轮播代码分享
Jul 31 Javascript
使用Object.defineProperty实现简单的js双向绑定
Apr 15 Javascript
详解Bootstrap插件
Apr 25 Javascript
Node.js使用NodeMailer发送邮件实例代码
Mar 06 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
Sep 12 Javascript
vue2中使用less简易教程
Mar 27 Javascript
js验证身份证号码记录的方法
Apr 26 Javascript
vue keep-alive 动态删除组件缓存的例子
Nov 04 Javascript
js实现简单商品筛选功能
Feb 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
咖啡豆的最常见发酵处理方法,详细了解一下
2021/03/03 冲泡冲煮
PHP生成腾讯云COS接口需要的请求签名
2018/05/20 PHP
javascript中的作用域scope介绍
2010/12/28 Javascript
图片onload事件触发问题解决方法
2011/07/31 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
jquery使用$(element).is()来判断获取的tagName
2014/08/24 Javascript
js创建数组的简单方法
2016/07/27 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
微信小程序绘制图片发送朋友圈
2019/07/25 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
2019/09/26 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
python中Flask框架简单入门实例
2015/03/21 Python
Python中的super用法详解
2015/05/28 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
Django中使用Celery的教程详解
2018/08/24 Python
python修改txt文件中的某一项方法
2018/12/29 Python
Django ORM 查询管理器源码解析
2019/08/05 Python
django日志默认打印request请求信息的方法示例
2020/05/17 Python
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
Linux Interview Questions For software testers
2013/05/17 面试题
2014年高考决心书
2014/03/11 职场文书
读书活动总结范文
2014/04/26 职场文书
法院四风对照检查材料思想汇报
2014/10/06 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
教师旷工检讨书
2015/08/15 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
2019年年中职场激励人心语录30条
2019/08/07 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang