浅谈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简单实现网页回到顶部功能
Nov 12 Javascript
Python脚本后台运行的几种方式
Mar 09 Javascript
javascript实现九宫格相加数值相等
May 28 Javascript
详解Backbone.js框架中的模型Model与其集合collection
May 05 Javascript
laypage分页控件使用实例详解
May 19 Javascript
jquery常用的12个小功能
Jul 22 Javascript
深入理解javascript函数参数与闭包
Dec 12 Javascript
JavaScript数组操作详解
Feb 04 Javascript
javascript实现自由编辑图片代码详解
Jun 21 Javascript
layui的面包屑或者表单不显示的解决方法
Sep 05 Javascript
JavaScript算法学习之冒泡排序和选择排序
Nov 02 Javascript
node.js中npm包管理工具用法分析
Feb 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
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
在Debian系统下配置LNMP的教程
2015/07/09 PHP
PHP实现统计在线人数功能示例
2016/10/15 PHP
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
2011/01/06 Javascript
JavaScript 注册事件代码
2011/01/27 Javascript
js中各浏览器中鼠标按键值的差异
2011/04/07 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
jquery获取img的src值实例介绍
2019/01/16 jQuery
在Vue中实现随hash改变响应菜单高亮
2020/03/09 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
python 快速排序代码
2009/11/23 Python
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
Python的Django框架中的数据过滤功能
2015/07/17 Python
python中reload(module)的用法示例详解
2017/09/15 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
2018/12/21 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
python自动分箱,计算woe,iv的实例代码
2019/11/22 Python
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
工地资料员岗位职责
2013/12/31 职场文书
高一生物教学反思
2014/01/17 职场文书
大学考试作弊检讨书
2014/01/30 职场文书
大学军训感言1000字
2014/02/25 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
毕业生入职感言
2015/07/31 职场文书
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
浅谈JavaScript作用域
2021/12/06 Javascript
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技