一、浅谈编码Base64、Hex、UTF-8、Unicode
计算机只认得二进制,0和1,所以咱们当初看到的字都是通过二进制数据编码后的。8比特一个字节,如01011100就是一个字节。
Hex:
联合下面,进制文件通常不易于人看,因为人会看眼花,所以必须将不可见的简单的字节数组数据转换为可显示的字符串数据,16进制是最好的,刚好2字符示意一个字节。Hex编码就是16进制编码。
hex也称为base16,意思是应用16个可见字符来示意一个二进制数组,编码后数据大小将翻倍,因为1个字符须要用2个可见字符来示意。
Base64:多种编码沟通的桥梁
base64,意思是应用64个可见字符来示意一个二进制数组,编码后数据大小变成原来的4/3,也即3个字符用4个可见字符来示意。
反对外国语言的编码零碎,关上另一个编码零碎编码的文本,会呈现什么状况呢?这就是乱码了… 更为严重的是,随着互联网的呈现,各个国家的电脑都须要通信,而通信的一种形式就是应用URL地址。这种编码模式长度也短,效率也高。这样一来,数据通信的时候,不论来的是什么语言,都转化成Base64后再发送和接管。
ASCII码:要让可读性更强
Hex编码尽管好,但有个问题:从计算机上关上个文件,满眼的十六进制数,很头大啊… 十六进制还是不太好示意文本。能不能创立一种办法,能示意键盘打进去的全副英文字符、符号呢?键盘打不进去的字符,比方什么回车啦,占位啦,用非凡的符号示意。
UTF-8:解决除英语之外其余语言
Unicode 当然是一本很厚的字典,记录着世界上所有字符对应的一个数字。UTF-8 是目前互联网上应用最宽泛的一种 Unicode 编码方式。这个编码又称为万国码,顾名思义,就是反对包含中文简体、中文繁体、日语、韩语等各种语言的编码