浅谈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 相关文章推荐
jquery 输入框数字限制插件
Nov 10 Javascript
javascript 模式设计之工厂模式详细说明
May 10 Javascript
javascript 触发HTML元素绑定的函数
Sep 11 Javascript
你必须知道的Javascript知识点之"字面量和对应类型"说明介绍
Apr 23 Javascript
jQuery判断元素是否存在的可靠方法
May 06 Javascript
jQuery实现背景滑动菜单
Dec 02 Javascript
详解springmvc 接收json对象的两种方式
Dec 06 Javascript
jQuery加载及解析XML文件的方法实例分析
Jan 22 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
Jul 18 Javascript
基于jQuery解决ios10以上版本缩放问题
Nov 03 jQuery
JavaScript控制浏览器全屏显示简单示例
Jul 05 Javascript
Ant Design moment对象和字符串之间的相互转化教程
Oct 27 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
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
PHP5中虚函数的实现方法分享
2011/04/20 PHP
php去除字符串中空字符的常用方法小结
2015/03/17 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
php libevent 功能与使用方法详解
2020/03/04 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
Javascript页面跳转常见实现方式汇总
2015/11/28 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
[58:12]Ti4第二日主赛事败者组 LGD vs iG 3
2014/07/21 DOTA
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
python中的字典使用分享
2016/07/31 Python
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
pytorch 把MNIST数据集转换成图片和txt的方法
2018/05/20 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
如何将 awk 脚本移植到 Python
2019/12/09 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
h5页面背景图很长要有滚动条滑动效果的实现
2021/01/27 HTML / CSS
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
应用艺术毕业生的自我评价
2013/12/04 职场文书
车辆转让协议书
2014/04/15 职场文书
2014年高一班主任工作总结
2014/12/05 职场文书
2014年度个人总结范文
2015/03/09 职场文书
2015年财政局工作总结
2015/05/21 职场文书
辩护词范文大全
2015/05/21 职场文书
工资证明格式模板
2015/06/12 职场文书
正规欠条模板
2015/07/03 职场文书
redis限流的实际应用
2021/04/24 Redis
各国货币符号大全
2022/02/17 杂记