1. 今天遇到一个bug,cookie中 name值包含中文的时候没有encode 导致服务器错误。

然后就系统了 看了下 ascii 码 Unicode 和 UTF-8  gb2312 等 编码的历史 以及应用情况,以及前端的 escape, encodeURI, encodeURIComponent 3个方法的区别。

 

简单记录下:

1. ascii码 8位 ,第一位是0,剩余7位表示128字符,其中前32个 和 最后一个是控制字符或通信专用字符,其余是可打印的字符。32是空格 ,33是感叹号,48是0,65是A ,97是a.     ( A  相当于 A)

 扩展ASCII是128到255代表的字符,但不是国际标准,网页中可用。  escape(‘<’) ->  ”%3C”  (60)

2.unicode: 貌似大部分是用4位 十六进制 表示 ,U+ 5475 表示 “呵”  ,js 代码中  escape(‘呵’) -> “%u5475″ 。  浪费资源,可以用ascii码的 地方只需要1位 也会有4位

3.utf-8: 是一种针对Unicode的可变长度字符编码,我的感觉就是 灵活了, 能用尽量短的位数 表示。

 

encodeURI 不会对“:”、“/”、“;”和“?” 进行编码,可以对整个url encode, 而 encodeURIComponent 都变编码,适合URI某个component 进行编码。

 

 

此外 还有些知识 包括 通过 FE EF 判断 unicode big endian 和 Little Endian (默认的),unicode 转 utf-8的方式 等等。

 

 

 

 

Tagged with:
 
  1.   今天陪女友坐公交车,由于没有座位而且旁边做的都是老人,女朋友晕车趴在我怀里。
      我看到旁边有一老头没多大岁数,我就壮着胆子说了句:大叔,我老婆怀孕了,您能站会吗?我们一会就下车了。
      大叔很爽快的答应了,我女友突然喊了句,爸!
      大叔当时脸就绿了!
      再看我,当时就吓尿了……

  2. 老公:“我们来玩牌吧,输一局脱件衣服。”老婆娇羞地:“好啊。”不一会,老婆就输得一丝不挂了。老婆扑到老公怀里,各种撒娇:“坏死了你,你耍赖的。”老公怒了:“我耍赖?!不服气把衣服穿上,重来!”