浅谈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代码
Aug 13 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
Dec 05 Javascript
CSS或者JS实现鼠标悬停显示另一元素
Jan 22 Javascript
百度地图给map添加右键菜单(判断是否为marker)
Mar 04 Javascript
prototype.js常用函数详解
Jun 18 Javascript
jQuery解析XML 详解及方法总结
Sep 28 Javascript
JS声明式函数与赋值式函数实例分析
Dec 13 Javascript
微信小程序 wx.request方法的异步封装实例详解
May 18 Javascript
vue中实现先请求数据再渲染dom分享
Mar 17 Javascript
vue-cli项目使用mock数据的方法(借助express)
Apr 15 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
Mar 01 jQuery
详细聊聊浏览器是如何看闭包的
Nov 11 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中ob函数缓冲机制深入理解
2015/08/03 PHP
详解php实现页面静态化原理
2017/06/21 PHP
extjs form textfield的隐藏方法
2008/12/29 Javascript
自动刷新网页,自动刷新当前页面,JS调用
2013/06/24 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
JavaScript中return false的用法
2015/03/12 Javascript
jQuery统计指定子元素数量的方法
2015/03/17 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
解析vue中的$mount
2017/12/21 Javascript
JavaScript DOM常用操作代码汇总
2020/07/03 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
Python导入oracle数据的方法
2015/07/10 Python
python实现扫描日志关键字的示例
2018/04/28 Python
PYTHON基础-时间日期处理小结
2018/05/05 Python
解决pycharm remote deployment 配置的问题
2019/06/27 Python
python批量图片处理简单示例
2019/08/06 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
2021/02/24 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
艺龙旅行网酒店预订:国内、港澳台酒店
2018/06/26 全球购物
澳大利亚网上书店:QBD
2021/01/09 全球购物
毕业生个人的求职信范文
2013/12/03 职场文书
往来会计岗位职责
2013/12/19 职场文书
儿子婚宴答谢词
2014/01/09 职场文书
班主任寄语大全
2014/04/04 职场文书
说明书范文
2014/05/07 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
MySQL 如何限制一张表的记录数
2021/09/14 MySQL