首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

汉字编码历史

Qt君最近在处理字符乱码的问题,顺便看了下关于汉字字符编码的历史,总结分享给大家。   ...由于汉字编码的限制身份证显示不了生僻字,需要特殊处理,有的人甚至是改名字。于是在90年代在GB2312的基础上扩展到两万多个汉字的字符编码GBK。   ...不得不说中华文化博大精深,两万多个汉字似乎也是不够用,继续发展汉字编码。GB2312编码进化为GB18030编码,扩展到了七万多文字,还包含了少数民族文字。   ...随着Unicode编码规范的建立,其实现方式有UTF-8,UTF-16,UTF-32。...由于UTF-8采用变长的编码方式实现,其节省空间,兼容ASCII标准的优点, 在互联网上使用最广的一种Unicode的实现方式。

1.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

URL汉字编码

*'(),”[不包括双引号]、以及某些保留字,才可以不经过编码直接用于 URL。” 这意味着,如果URL中有汉字,就必须编码后使用。...(具体的转码方法,请参考我写的《字符编码笔记》 。) 在Firefox中测试,也得到了同样的结果。所以,结论1就是,网址路径的编码,用的是utf-8编码。...举例来说,百度是GB2312编码,Google是UTF-8编码。因此,从它们的搜索框中搜索同一个词“春节”,生成的查询字符串是不一样的。...百度生成的是%B4%BA%BD%DA,这是GB2312编码。 Google生成的是%E6%98%A5%E8%8A%82,这是UTF-8编码。...也就是说,在Ajax调用中,IE总是采用GB2312编码(操作系统的默认编码),而Firefox总是采用utf-8编码。这就是我们的结论4。

2.9K50

UTF-8编码

介绍 UTF-8 编码UTF-8 是一种针对 Unicode 的可变长度字符编码。针对 Unicode:UTF-8 是 Unicode 的实现方式之一。...,如大部分的汉字);UTF-8 使用 4 个字节表示 Unicode 辅助平面的字符。...UTF-8 使用 3 个字节表示常用的汉字,因此中文字符对应的字节序列格式为:"1110xxxx 10xxxxxx 10xxxxxx"于是中文字符 “一” 的 UTF-8 编码结果为 "11100100...这样,可以快速读取和写入 UTF-8 编码的字符。UTF-8 编码的缺点UTF-8 编码不利于使用正则表达式进行读音检索正则表达式可以进行很多高级的英文模糊检索。...但是 Unicode 汉字不是按读音排序的,它是按部首排序,所以不利于用正则表达式进行读音检索。在只知道一个字的部首而不知道如何发音的情况下,UTF-8 可用正则表达式检索而 GBK 不行。

1.6K00

浅谈unicode编码utf-8编码的关系

但是我们都知道中文的字符肯定不止255个汉字,使用ASCII编码来处理中文显然是不够的,所以中国制定了GB2312编码,用两个字节表示一个汉字,碰到及其特殊的情况,还会用三个字节来表示一个汉字。...为了解决这个问题,一种可变长的编码utf-8”就应运而生了,把英文变长1个字节,汉字3个字节,特别生僻的变成4-6个字节,如果传输大量的英文,utf8的作用就很明显了。...所以utf-8编码在做网络传输和文件保存的时候,将unicode编码转换成utf-8编码,才能更好的发挥其作用;当从文件中读取数据到内存中的时候,将utf-8编码转换为unicode编码,亦为良策。...如上图所示,当需要在内存中读取文件的时候,此时将utf-8编码的内存转换为unicode编码,在内存中进行统一处理;当需要保存文件的时候,出于空间和传输效率的考虑,此时将unicode编码转换为utf-...在Python中进行读取和保存文件的时候,必须要显示的指定文件编码,其余的事情就交给Python的相关库去处理就可以了。

1.6K20

浅谈unicode编码utf-8编码的关系

但是我们都知道中文的字符肯定不止255个汉字,使用ASCII编码来处理中文显然是不够的,所以中国制定了GB2312编码,用两个字节表示一个汉字,碰到及其特殊的情况,还会用三个字节来表示一个汉字。...为了解决这个问题,一种可变长的编码utf-8”就应运而生了,把英文变长1个字节,汉字3个字节,特别生僻的变成4-6个字节,如果传输大量的英文,utf8的作用就很明显了。 ?...所以utf-8编码在做网络传输和文件保存的时候,将unicode编码转换成utf-8编码,才能更好的发挥其作用;当从文件中读取数据到内存中的时候,将utf-8编码转换为unicode编码,亦为良策。...如上图所示,当需要在内存中读取文件的时候,此时将utf-8编码的内存转换为unicode编码,在内存中进行统一处理;当需要保存文件的时候,出于空间和传输效率的考虑,此时将unicode编码转换为utf-...在Python中进行读取和保存文件的时候,必须要显示的指定文件编码,其余的事情就交给Python的相关库去处理就可以了。

1.2K20

JavaScript如何实现UTF-16编码转换为UTF-8编码——utfx.js源码解析

本文通过对utfx.js这个库的代码进行分析,带大家深入了解UTF8和UTF16这两种编码方式在JavaScript中的转换方法,同时加深对Unicode中UTF-8和UTF-16两种编码方式的具体原理的理解...本文的主要内容为: utfx.js API简单介绍 UTF-16编码转换为UTF-8编码 UTF-8编码字符串长度计算 实验性功能:window.TextEncoder 如果有读者不了解Unicode中...utfx.js API简介 在进行具体的代码详解之前,我们先来了解下我们需要介绍的库——utfx.js。我们只有了解了这个库的使用方法,我们才能够更好的理解源码。...utfx.js代码不多,一共只有八个API接口,分别为: encodeUTF8:将UTF-8编码的字符串code码转换为二进制bytes。...总结 本文对实现了Unicode中UTF-8和UTF-16这两种编码方式的库——utfx.js进行了部分代码分析。

3.6K20

UTF-8编码规则_库德巴码编码规则字符编码笔记:ASCII,Unicode和UTF-8

实际将UNICODE转换为UTF-8编码时应先去除高位0,然后根据所剩编码的位数决定所需最小的UTF-8编码位数。...但是不管怎样,所有这些编码方式中,0—127表示的符号是一样的,不一样的只是128—255的这一段。 至于亚洲国家的文字,使用的符号就更多了,汉字就多达10万左右。...比如,简体中文常见的编码方式是GB2312,使用两个字节表示一个汉字,所以理论上最多可以表示256×256=65536个符号。 中文编码的问题需要专文讨论,这篇笔记不涉及。...这里只指出,虽然都是用多个字节表示一个符号,但是GB类的汉字编码与后文的Unicode和UTF-8是毫无关系的。...每个符号的编码都不一样,比如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,U+4E25表示汉字“严”。具体的符号对应表,可以查询unicode.org,或者专门的汉字对应表。

1.3K30

深入理解unicode编码utf-8编码区别

算法总结 计算机的世界中,充满了各种编码编码就是将世界的事物,通过定义的一套数字规范,进而实现其可以在计算机中存储可计算。...unicode码只是一种编码的规范,它没有定义在计算机中怎么对其存储,在unicode编码规范中,由于unicode编码覆盖面广阔,码值分布在0到2的32次方之间。...实战演示 如:我们现在要将中文的"你好“转化为utf-8编码进行存储,在此我们不要使用编程语言来实现,通过手动的方式一步一步的完成转化 将"你好"转化为unicode码 在http://www.chi2ko.com.../tool/CJK.htm网站中,查找"你好"两个汉字对应的unicode码值 你 ----> 4F60 好 ----> 597D 通过同上表中的转化规则比较,符合第三行转化规则,即1110xxxx...总结 通过以上的实验操作,你应该全面的理解了unicode编码utf-8编码之间的区别及转化算法了吧。

92630

深入理解unicode编码utf-8编码区别

编码算法总结 计算机的世界中,充满了各种编码编码就是将世界的事物,通过定义的一套数字规范,进而实现其可以在计算机中存储可计算。...unicode编码 UTF-8编码 U+00000000 – U+0000007F 0xxxxxxx U+00000080 – U+000007FF...实战演示 如:我们现在要将中文的"你好“转化为utf-8编码进行存储,在此我们不要使用编程语言来实现,通过手动的方式一步一步的完成转化 将"你好"转化为unicode码 在http://www.chi2ko.com.../tool/CJK.htm网站中,查找"你好"两个汉字对应的unicode码值你 ----> 4F60 好 ----> 597D通过同上表中的转化规则比较,符合第三行转化规则,即1110xxxx 10xxxxxx...总结 通过以上的实验操作,你应该全面的理解了unicode编码utf-8编码之间的区别及转化算法了吧。

1.4K50
领券