ASCII码和Unicode字符集

一、ASCII  码

ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准。ASCII 码可以用来表示大小写英文字母、数字和一些符号,到目前为止共定义了128个字符。

ASCII对照表

js字符串和 ASCII码的互相转换

// js字符串转 ASCII码
var n = str.charCodeAt(i);
// ASCII码转js字符串   
var str = String.fromCharCode(n);

二、Unicode 字符集

不同的国家有不同的语言,显然只用 128 个 ASCII 码来表示是存在很大的局限性,为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。

Unicode(又称统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。

1. 一个 Unicode 字符的组成

一个 Unicode 字符,通常由“U+”然后紧接着一组十六进制的数字组成。

基本多文种平面(简写 BMP,又简称为“零号平面”)里的所有字符,要用四位十六进制数(例如U+4AE0,共支持六万多个字符);在零号平面以外的字符则需要使用五位或六位十六进制数了。

2. Unicode 在 JavaScript 中的使用 - Unicode 转义序列

在有些老旧的计算机硬件和软件里,无法显示或输入 Unicode 字符全集,为了支持那些硬件和软件,JavaScript 定义了一种特殊序列,使用6个 ASCII 字符来代表任意16位 Unicode 内码,这些 Unicode 转义序列均以 \u 为前缀,其后跟随4个十六进制数(例如 \u4e00)。

3. js字符串和 Unicode 的相互转换

js字符串转 Unicode

charCodeAt 获取到的是十进制的 ASCII 码,用 toString(16) 转成十六进制,再加上各种场景不同的前缀就是完整的 Unicode 码。

// js字符串转Unicode 
function encodeUnicode(str) {  
    var res = [];  
    for ( var i=0; i<str.length; i++ ) {  
       res[i] = ( "00" + str.charCodeAt(i).toString(16) ).slice(-4);  
    }  
    return "\\u" + res.join("\\u");  
}  

Unicode 转js字符串

方法一:Unicode直接可以在js字符串中使用,网页渲染时会自动显示对应的字符。

方法二:用 decodeURI(Unicode) 方法。

4. Unicode 官网的使用

Unicode 官网列出了很多特殊符号和表情的 Unicode 编码,平时用 js 开发业务的时候去官网找表情和图标也是一种不错的选择。

把 Unicode 的 U+ 替换成 \u 就能在 js 字符串中使用了。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值