设计师有设计思维,同样的架构师在开发服务器和软件的时候也有自己的架构思维。
今天,电脑培训>
一般来说,我们的网页代码编程都是基于一定的规则来完成编写的,而大部分的情况下我们采用也是utf的编辑规则。下面,丽江电脑培训>
服务器开发适用哪些编程开发规则
那么什么是编码什么是UTF-8
我们都知道,计算机使用0和1来存储文本。比如字符“C”被存成“01000011”,那么计算机在显示这个字符时需要经过两个步骤:
计算机读取“01000011”,得到数字67,因为67被编码成“01000011”。
计算机在Unicode字符集中查找67,找到了“C”。
同样的:
我的电脑将“C”映射成Unicode字符集中的67。
我的电脑将67编码成“01000011”,并发送给Web服务器。
几乎所有的网络应用都使用了Unicode字符集,因为没有理由使用其他字符集。
Unicode字符集包含了上百万个字符。简单的编码是UTF-32,每个字符使用32位。这样做简单,因为一直以来,计算机将32位视为数字,而计算机在行的就是处理数字。但问题是,这样太浪费空间了。
UTF-8可以节省空间,在UTF-8中,字符“C”只需要8位,一些不常用的字符,比如“”需要32位。其他的字符可能使用16位或24位。一篇类似本文这样的文章,如果使用UTF-8编码,占用的空间只有UTF-32的四分之一左右。
MySQL的“utf8”字符集与其他程序不兼容,它所谓的“”,可能真的是一坨
MySQL简史
为什么MySQL开发者会让“utf8”失效我们或许可以从提交日志中寻找答案。
MySQL从41版本开始支持UTF-8,也就是2003年,而今天使用的UTF-8标准(RFC3629)是随后才出现的。
旧版的UTF-8标准(RFC2279)多支持每个字符6个字节。2002年3月28日,MySQL开发者在一个MySQL41预览版中使用了RFC2279。
同年9月,他们对MySQL源代码进行了一次调整:“UTF8现在多只支持3个字节的序列”。
是谁提交了这些代码他为什么要这样做这个问题不得而知。在迁移到Git后(MySQL开始使用的是BitKeeper),MySQL代码库中的很多提交者的名字都丢失了。2003年9月的邮件列表中也找不到可以解释这一变更的线索。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)