Unicode:是一个字符集,每个字符对应一个唯一的unicode编码,一般是16位

UTF8是针对Unicode的编码方式,因为如果每个字符都用unicode的编码存储的话会很浪费空间,比如说ascii字符,实际上只需要用一个字节表示,但是直接用unicode的话会需要两个字节,造成空间的浪费。使用UTF8可以解决此问题,因为UTF8是一种变长的编码方式,所以对于ascii字符只需要一个字节就可以表示,可以很大地节约空间。

UTF8在确定每个字符需要几个字节表示的方式

只需要一个字节的时候,这个字节的最高位是0

需要多个字节的时候,看第一个字节从最高位开始有几个连续的1,有几个连续的1就用几个字节表示,其余字节均以10开头

 

UTF16,同样也是针对Unicode的编码方式,只不过固定用两个字节表示。

 

urlencode:当字符串需要作为url的参数时,此字符串需要urlencode编码。

需要编码的字符:非ascii字符以及一些特殊的ascii字符,如空格、&%、控制符号等。字母跟数字不需要urlencode。

 

base64: 是用64个(如果算上“=”号的话就是65个可打印字符来表示二进制数据的一种方式。猜想用base64而不直接用ascii码的原因是有些ascii码不能打印,如制表符、换行符等。用base64编码的二进制数据会比原始数据大三分之一左右。

 

posted on 2018-09-28 10:45  ximenchuixie  阅读(191)  评论(0编辑  收藏  举报