字符集、编码、转码、转义
来源:互联网 发布:78团淘宝兼职是真的吗 编辑:程序博客网 时间:2024/05/29 07:11
字符 =》二进制
字符集:规定字符 和 对应的码点
Unicode 是一个字符集,需要四个字节才能表示完所有字符。Unicode的前127个码点 与 ASCII字符集相同
双字节码点范围 /[\u0100-\uffff]/
中文码点范围 /[\u4e00-\u9fa5]/
字符编码:将字符的码点编入字节
UTF-32编码采用Unicode字符集,用四个字节编码一个字符
UTF-8编码采用Unicode字符集,变长编码方式,码点小的字符用一个字节编码,码点大的字符用2-4个字节编码。
字符转码:用16进制数表示字符的码点或编码,两个16进制数对应一个字节(每4比特转成一个1-16的数字)
String.prototype.charCodeAr(index)、String.prototype.codePointAt(index): 获取字符Unicode码点(十进制)
escape: 获取Unicode码点,不转码范围{ ASCII字母 数字 @*/+ },用于字符串转码。unescape解码encodeURI: 获取UTF-8编码,不转码范围{ ASCII字母 数字 ~!@#$&*()=:/,;?+' },用于URI转码。decodeURI解码
encodeURIComponent: 获取UTF-8编码,不转码范围 { ASCII字母 数字 ~!*()' },用于URI的组成部分转码,转码范围比encodeURI大一些。decodeURIComponent解码
二进制 =》字符
Base64编码:每6比特转成一个1-64的数字,再用这个数字在字母表(包含大小写字母数字+/)上找到一个字母
btoa: 对单字节字符进行Base64转码。atob解码
转义
"&单词;" 转成 "特殊字符",浏览器自动完成。浏览器没有自带的转义和反转义API
encodeHTML: function(a) { return String(a).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");},decodeHTML: function(a) { var b = String(a).replace(/"/g, '"').replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&"); return b.replace(/&#([\d]+);/g, function(d, c) { return String.fromCharCode(parseInt(c, 10)) })},
0 0
- 字符集、编码、转码、转义
- c语言转义字符集
- C语言转义字符集
- c语言转义字符集
- 字符集和字符集编码
- 字符集编码
- 字符集编码
- 字符集编码
- 字符集编码
- 字符集编码
- 字符集编码
- 字符集编码
- 字符集编码
- 字符集编码
- 字符集编码
- 字符集编码
- 字符集,编码
- [字符集编码]
- php模糊图片 函数
- 编辑距离
- QTP 依次读取文本中的各行数据
- AsyncTask源码浅析
- angular 1与angular2区别
- 字符集、编码、转码、转义
- 获取非行间样式
- 使用ant编译java class
- 《Netty in Action》中文版 — 第一部分前言
- oracle官网下载java API
- 抽象类
- mysql.exe的用法
- C++11 lambda 表达式解析
- SQLSTATE[23000]主键重复