专业建站团队,怎么让别人访问我建的网站,四川网站建设贴吧,平面设计服务方案常见的字符编码、以及它们的区别 ✔️ 解析✔️扩展知识仓✔️Unicode和UTF-8有啥关系?✔️有了UTF-8#xff0c;为什么要出现GBK✔️为什么会出现乱码 ✔️ 解析 就像电报只能发出 ”滴” 和 ”答” 声一样#xff0c;计算机只认识 0 和 1 两种字符#xff0c;但是#x… 常见的字符编码、以及它们的区别 ✔️ 解析✔️扩展知识仓✔️Unicode和UTF-8有啥关系?✔️有了UTF-8为什么要出现GBK✔️为什么会出现乱码 ✔️ 解析 就像电报只能发出 ”滴” 和 ”答” 声一样计算机只认识 0 和 1 两种字符但是人类的文字是多种多样的如何把人类的文字转换成计算机认识的01字符呢这个过程同样需要通过字符编码。 字符编码(Character encoding) 是一套法则使用该法则能够对自然语言的字符的一个集合(如字母表或音节表)与其他东西的一个集合(如号码或电脉冲)进行配对。 和摩尔斯电码功能类似上个世纪60年代美国制定了一套字符编码对英语字符与二进制位之间的关系做了统一规定这被称为 ASCII 码一直沿用至今。 由于ASCI只有128个字符虽然对于英文字符都可以表示了但是世界上还有很多其他的文字他是没办法表示的所以需要一种更加全面的字符编码。 于是又出现了 Unicode 字符集 (常见的Unicode Transformation Format 有: UTF-7, UTF-7.5,UTF. 8,UTF-16,以及 UTF-32) 除此之外还有一些常用的中文编码有GBKGB2312GB18030等。 ✔️扩展知识仓 ✔️Unicode和UTF-8有啥关系? Unicode (中文: 万国码、国际码、统一码、单一码)是计算机科学领域里的一项业界标准。它对世界上大部分的文字系统进行了整理、编码使得计算机可以用更为简单的方式来呈现和处理文字。 Unicode备受认可并广泛地应用于计算机软件的国际化与本地化过程。有很多新科技如可扩展置标语言(Extensible Markup Language简称: XML)、Java编程语言以及现代的操作系统都采用Unicode编码。 Unicode是一套通用的字符集包含世界上的大部分文字也就是说Unicode是可以表示中文的。 但是Unicode虽然统一了全世界字符的编码但没有规定如何存储。 因为如果 Unicode 统一规定每个符号就要用三个或四个字节表示因为字符太多只能用这么多字节才能表示完全。一旦这么规定那么每个英文字母前都必然有二到三个字节是0因为所有英文字母在 ASCII 中都有都可以用一个字节表示剩余字节位置就要补充0。如果这样文本文件的大小会因此大出二三倍这对于存储来说是极大的浪费。 为了解决这个问题就出现了一些中间格式的字符集他们被称为通用转换格式即UTF (UnicodeTransformation Format) 。常见的UTF格式有: UTF-7, UTF-7.5, UTF-8,UTF-16,以及 UTF-32。 UTF-8 使用一至四个字节为每个字符编码 UTF-16 使用二或四个字节为每个字符编码 UTF-32 使用四个字节为每个字符编码 所以我们可以说UTF-8、UTF-16等都是 Unicode 的一种实现方式。 ✔️有了UTF-8为什么要出现GBK 因为UTF-8是Unicode的一种实现所以他包含了世界上的所有文字的编码他采用的是1-4字节进行编码。 对于那些排在前面优先纳入的文字可能就优先使用1字节、2字节存储了对于后纳入的文字就要使用3字节或者4字节存储了。 正是因为UTF-8太全了所以那些晚一些纳入的字符在UTF-8中的存储所占的字节数可能就会多些那他的存储空间要求就会很大。 对于常用的汉字在UTF-8中采用3字节进行编码但是如果有一种只包含中文和ASCI的编码的话就不需要使用3个字节可能2个字节就够了。 对于大部分网站来说基本都是只服务一个国家或者地区的比如一个中国的网站一般会出现简体字和繁体字以及一些英文字符很少会出现日语或者韩文的。 也是出于这样的考虑中国国家标准总局于1981年制定并实施了 GB 2312-80 编码即中华人民共和国国家标准简体中文字符集。后来厂 商微软利用GB 2312-80末使用的编码空间收录GB 13000.1-93全部字符制定了GBK编码。 有了标准中文字符集如果是一个纯中文网站就可以可以采用这种编码方式这样可以大大节省一些存储空间的。 常用的中文编码有GBKGB2312GB18030等最常用的是GBK。 GB2312(1980年): 16位字符集收录有6763个简体汉字682个符号共7445个字符: 优点: 适用于简体中文环境属于中国国家标准通行于大陆新加坡等地也使用此编码 缺点: 不兼容繁体中文其汉字集合过少 GBK(1995年) : 16位字符集收录有21003个汉字883个符号共21886个字符: 优点: 适用于简繁中文共存的环境为简体Windows所使用向下完全兼容gb2312向上支持ISO-10646 国际标准: 所有字符都可以一对一映射到unicode2.0上; 缺点: 不属于官方标准和big5之间需要转换很多搜索引擎都不能很好地支持GBK汉字 GB18030(2000年): 32位字符集: 收录了27484个汉字同时收录了藏文、蒙文、维吾尔文等主要的少数民族文字。 优点: 可以收录所有你能想到的文字和符号属于中国最新的国家标准 缺点: 目前支持它的软件较少。 ✔️为什么会出现乱码 文件里面的内容归根到底都是有0101组成的至于0101的二进制码如何转成人们可以理解的字符串则是需要通过规定好的字符编码标准进行转换才可以。 我们把一串中文字符通过UTF-8进行编码传输给别人别人拿到这串文字之后通过GBK进行解码得到的内容就会是“银届萦银斤拷霍位银斤拷直银斤拷馄”这就是乱码。