码迷,mamicode.com
首页 > 其他好文 > 详细

编码小结

时间:2014-09-03 12:47:46      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   strong   ar   for   div   

一个汉字=两个字节(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://cancait.blog.163.com/name=” + encodeURIComponent(“ 中国 ”) + “’>中国 </a>”;

 

encodeURI(String)

对 URL 整体转换。不编码字符有 82 个: ! , # , $ , & , ‘ , ( , ) , * , + ,,, - , . , / , : , ; , = , ? , @ , _ , ~ , 0-9 , a-z , A-Z 。

例:

var url = “<a href=’” + encodeURI(“http://cancait.blog.163.com/name= 中国 ”) + “’> 中国 </a>”;

 

编码小结

标签:style   blog   http   color   io   strong   ar   for   div   

原文地址:http://www.cnblogs.com/cjy1993/p/3953296.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!