首页 > 代码库 > 编码小结
编码小结
一个汉字=两个字节(2B)
一个英文字母=一个字节(1B)
8bit(位)=1Byte(字节)
1024Byte(字节)=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
----------------------------------------
中英文字节长度转换
str.replace(/[^\x00-\xFF]/g, ‘**‘) 中文字符转换为两个英文
- ^\x00-\xFF]表示匹配Ascii码大于255的那些字符了
- 匹配双字节字符[X00-XFF],比如大写英文字母。加上^表示相反的意思,就是匹配非双字节的字符。小写字母和汉字都会被匹配出来。
- [^X00-XFF]等同于[^\x00-\xff]
--------------------------------------------
不超过12个汉字。支持中英文、数字、符号(不含空格)
- 先用这个trim函数去空格-> \s指所有空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t\v] 等效
(科普:\w匹配任何字类字符,包括下划线。与“[A-Za-z0-9_]”等效,是\S(所有非空白字符)的子集)
function trim(str) { str = str.replace(/^\s+/, ‘‘); for (var i = str.length - 1; i >= 0; i--) { if (/\S/.test(str.charAt(i))) { str = str.substring(0, i + 1); break; } } return str;}
- 然后用var replacedStr = str.replace(/[^\x00-\xFF]/g, ‘**‘)把一个中文换成两个英文字符(即两个字节)
- var patten = /^[\S]{1,24}$/; 匹配所有非空白字符的正则
- patten.test(replacedStr);
编码解码
目的:好像是为了和后台传输的时候不出错。不同的浏览器对字符的解析不同?
encodeURIComponent(String)
对传递参数进行设置。不编码字符有 71 个: ! , ‘ , ( , ) , * , - , . , _ , ~ , 0-9 , a-z , A-Z 。
例:
var url = “<a href=http://www.mamicode.com/’http://cancait.blog.163.com/name=” + encodeURIComponent(“ 中国 ”) + “’>中国 </a>”;
encodeURI(String)
对 URL 整体转换。不编码字符有 82 个: ! , # , $ , & , ‘ , ( , ) , * , + ,,, - , . , / , : , ; , = , ? , @ , _ , ~ , 0-9 , a-z , A-Z 。
例:
var url = “<a href=http://www.mamicode.com/’” + encodeURI(“http://cancait.blog.163.com/name= 中国 ”) + “’> 中国 </a>”;
编码小结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。