[size=medium]
计算机只能存储数字,不能把文字写进去
所以人们把每个文字编一个号(如 “A” 就第65个字符),这就是ASCII码。 一个编号占8个“二进制位”。所以八个字节又叫做 一个 字节。
为了把文字显示在屏幕上,人们发明了 计算机字体
计算机读到 65 这个数字 就在字体中找到第65个 字 的样子 把它显示在屏幕上
后来中国等其他国家也用上了电脑,发现汉字太多了,需要用2个字节来编号,而且还要兼容以前的ASCII码,于是发明了gb2312编码。
gb2312编码:一个字节的首位二进制位是0的,他就按ASCII展示。
如果首位二进制位是1的话,他就和他后边的一个字节一起表示一个汉字。
后来收录的汉字越来越多变成了GBK和GB18030。
越来越多的“富字符”国家用上了电脑,每个国家一套编码,每个国家的编码都只给自己国家的文字编了号
这样搞很不利于团结,所以标准化组织推出了好几套编码,有统一都是2个字节表示一个文字的编码。
这时候计算机大国不干,他们都是“瘦字符”国家,本来用1个字节,现在用2个,空间上增长了100%。
所以又推出了新的编码 UTF-8 他可以是1个字节对应一个ASCII编码,也可以用2-3个字符给其他文字编号,中文是3个字节(也就是说UTF-8与GBK不兼容)
这样乱码就很容易解释了。比如:本来是UTF-8编号的文字,到GBK里边按号找,找到的肯定不是原来的那个字
编码转换
各个国家都提供了自己编码和国际统一标准编码的对应方法,这样计算机就可以把一种编码转成标准编码,甚至可以继续转成其他的编码[/size]
计算机只能存储数字,不能把文字写进去
所以人们把每个文字编一个号(如 “A” 就第65个字符),这就是ASCII码。 一个编号占8个“二进制位”。所以八个字节又叫做 一个 字节。
为了把文字显示在屏幕上,人们发明了 计算机字体
计算机读到 65 这个数字 就在字体中找到第65个 字 的样子 把它显示在屏幕上
后来中国等其他国家也用上了电脑,发现汉字太多了,需要用2个字节来编号,而且还要兼容以前的ASCII码,于是发明了gb2312编码。
gb2312编码:一个字节的首位二进制位是0的,他就按ASCII展示。
如果首位二进制位是1的话,他就和他后边的一个字节一起表示一个汉字。
后来收录的汉字越来越多变成了GBK和GB18030。
越来越多的“富字符”国家用上了电脑,每个国家一套编码,每个国家的编码都只给自己国家的文字编了号
这样搞很不利于团结,所以标准化组织推出了好几套编码,有统一都是2个字节表示一个文字的编码。
这时候计算机大国不干,他们都是“瘦字符”国家,本来用1个字节,现在用2个,空间上增长了100%。
所以又推出了新的编码 UTF-8 他可以是1个字节对应一个ASCII编码,也可以用2-3个字符给其他文字编号,中文是3个字节(也就是说UTF-8与GBK不兼容)
这样乱码就很容易解释了。比如:本来是UTF-8编号的文字,到GBK里边按号找,找到的肯定不是原来的那个字
编码转换
各个国家都提供了自己编码和国际统一标准编码的对应方法,这样计算机就可以把一种编码转成标准编码,甚至可以继续转成其他的编码[/size]