下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 字符编码笔记:ASCII,Unicode和UTF-8

字符编码笔记:ASCII,Unicode和UTF-8.pdf

字符编码笔记:ASCII,Unicode和UTF-8

小红牛
2011-04-13 0人阅读 举报 0 0 暂无简介

简介:本文档为《字符编码笔记:ASCII,Unicode和UTF-8pdf》,可适用于IT/计算机领域

上一篇:《新编高中文言文助读》原文及翻译下一篇:年最佳政治漫画分类:IT技术阮一峰的网络日志»首页»档案字符编码笔记:字符编码笔记:字符编码笔记:字符编码笔记:ASCIIUnicode和和和和作者:阮一峰日期:年月日今天中午我突然想搞清楚Unicode和之间的关系于是就开始在网上查资料。结果这个问题比我想象的复杂从午饭后一直看到晚上点才算初步搞清楚。下面就是我的笔记主要用来整理自己的思路。但是我尽量试图写得通俗易懂希望能对其他朋友有用。毕竟字符编码是计算机技术的基石想要熟练使用计算机就必须懂得一点字符编码的知识。ASCII码码码码我们知道在计算机内部所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有和两种状态因此八个二进制位就可以组合出种状态这被称为一个字节(byte)。也就是说一个字节一共可以用来表示种不同的状态每一个状态对应一个符号就是个符号从到。上个世纪年代美国制定了一套字符编码对英语字符与二进制位之间的关系做了统一规定。这被称为ASCII码一直沿用至今。ASCII码一共规定了个字符的编码比如空格“SPACE”是(二进制)大写的字母A是(二进制)。这个符号(包括个不能打印出来的控制符号)只占用了一个字节的后面位最前面的位统一规定为。、非、非、非、非ASCII编码编码编码编码字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…英语用个符号编码就够了但是用来表示其他语言个符号是不够的。比如在法语中字母上方有注音符号它就无法用ASCII码表示。于是一些欧洲国家就决定利用字节中闲置的最高位编入新的符号。比如法语中的é的编码为(二进制)。这样一来这些欧洲国家使用的编码体系可以表示最多个符号。但是这里又出现了新的问题。不同的国家有不同的字母因此哪怕它们都使用个符号的编码方式代表的字母却不一样。比如在法语编码中代表了é在希伯来语编码中却代表了字母Gimel(ג)在俄语编码中又会代表另一个符号。但是不管怎样所有这些编码方式中表示的符号是一样的不一样的只是的这一段。至于亚洲国家的文字使用的符号就更多了汉字就多达万左右。一个字节只能表示种符号肯定是不够的就必须使用多个字节表达一个符号。比如简体中文常见的编码方式是GB使用两个字节表示一个汉字所以理论上最多可以表示x=个符号。中文编码的问题需要专文讨论这篇笔记不涉及。这里只指出虽然都是用多个字节表示一个符号但是GB类的汉字编码与后文的Unicode和是毫无关系的。Unicode正如上一节所说世界上存在着多种编码方式同一个二进制数字可以被解释成不同的符号。因此要想打开一个文本文件就必须知道它的编码方式否则用错误的编码方式解读就会出现乱码。为什么电子邮件常常出现乱码?就是因为发信人和收信人使用的编码方式不一样。可以想象如果有一种编码将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码那么乱码问题就会消失。这就是Unicode就像它的名字都表示的这是一种所有符号的编码。Unicode当然是一个很大的集合现在的规模可以容纳多万个符号。每个符号的编码都不一样比如U表示阿拉伯字母AinU表示英语的大写字母AUE表示汉字“严”。具体的符号对应表可以查询unicodeorg或者专门的汉字对应表。Unicode的问题的问题的问题的问题需要注意的是Unicode只是一个符号集它只规定了符号的二进制代码却没有规定这个二进制代码应该如何存储。字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…比如汉字“严”的unicode是十六进制数E转换成二进制数足足有位()也就是说这个符号的表示至少需要个字节。表示其他更大的符号可能需要个字节或者个字节甚至更多。这里就有两个严重的问题第一个问题是如何才能区别unicode和ascii?计算机怎么知道三个字节表示一个符号而不是分别表示三个符号呢?第二个问题是我们已经知道英文字母只用一个字节表示就够了如果unicode统一规定每个符号用三个或四个字节表示那么每个英文字母前都必然有二到三个字节是这对于存储来说是极大的浪费文本文件的大小会因此大出二三倍这是无法接受的。它们造成的结果是:)出现了unicode的多种存储方式也就是说有许多种不同的二进制格式可以用来表示unicode。)unicode在很长一段时间内无法推广直到互联网的出现。互联网的普及强烈要求出现一种统一的编码方式。就是在互联网上使用最广的一种unicode的实现方式。其他实现方式还包括和不过在互联网上基本不用。重复一遍这里的关系是重复一遍这里的关系是重复一遍这里的关系是重复一遍这里的关系是是是是是Unicode的实现方式之一。的实现方式之一。的实现方式之一。的实现方式之一。最大的一个特点就是它是一种变长的编码方式。它可以使用~个字节表示一个符号根据不同的符号而变化字节长度。的编码规则很简单只有二条:)对于单字节的符号字节的第一位设为后面位为这个符号的unicode码。因此对于英语字母编码和ASCII码是相同的。)对于n字节的符号(n>)第一个字节的前n位都设为第n位设为后面字节的前两位一律设为。剩下的没有提及的二进制位全部为这个符号的unicode码。下表总结了编码规则字母x表示可用编码的位。Unicode符号范围|编码方式(十六进制)|(二进制)F|xxxxxxx字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…FF|xxxxxxxxxxxFFFF|xxxxxxxxxxxxxxxxFFFF|xxxxxxxxxxxxxxxxxxxxx下面还是以汉字“严”为例演示如何实现编码。已知“严”的unicode是E()根据上表可以发现E处在第三行的范围内(FFFF)因此“严”的编码需要三个字节即格式是“xxxxxxxxxxxxxxxx”。然后从“严”的最后一个二进制位开始依次从后向前填入格式中的x多出的位补。这样就得到了“严”的编码是“”转换成十六进制就是EBA。Unicode与与与与之间的转换之间的转换之间的转换之间的转换通过上一节的例子可以看到“严”的Unicode码是E编码是EBA两者是不一样的。它们之间的转换可以通过程序实现。在Windows平台下有一个最简单的转化方法就是使用内置的记事本小程序Notepadexe。打开文件后点击“文件”菜单中的“另存为”命令会跳出一个对话框在最底部有一个“编码”的下拉条。里面有四个选项:ANSIUnicodeUnicodebigendian和。)ANSI是默认的编码方式。对于英文文件是ASCII编码对于简体中文文件是GB编码(只针对Windows简体中文版如果是繁体中文版会采用Big码)。)Unicode编码指的是UCS编码方式即直接用两个字节存入字符的Unicode码。这个选项用的littleendian格式。字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…)Unicodebigendian编码与上一个选项相对应。我在下一节会解释littleendian和bigendian的涵义。)编码也就是上一节谈到的编码方法。选择完”编码方式“后点击”保存“按钮文件的编码方式就立刻转换好了。Littleendian和和和和Bigendian上一节已经提到Unicode码可以采用UCS格式直接存储。以汉字”严“为例Unicode码是E需要用两个字节存储一个字节是E另一个字节是。存储的时候E在前在后就是Bigendian方式在前E在后就是Littleendian方式。这两个古怪的名称来自英国作家斯威夫特的《格列佛游记》。在该书中小人国里爆发了内战战争起因是人们争论吃鸡蛋时究竟是从大头(BigEndian)敲开还是从小头(LittleEndian)敲开。为了这件事情前后爆发了六次战争一个皇帝送了命另一个皇帝丢了王位。因此第一个字节在前就是”大头方式“(Bigendian)第二个字节在前就是”小头方式“(Littleendian)。那么很自然的就会出现一个问题:计算机怎么知道某一个文件到底采用哪一种方式编码?Unicode规范中定义每一个文件的最前面分别加入一个表示编码顺序的字符这个字符的名字叫做”零宽度非换行空格“(ZEROWIDTHNOBREAKSPACE)用FEFF表示。这正好是两个字节而且FF比FE大。如果一个文本文件的头两个字节是FEFF就表示该文件采用大头方式如果头两个字节是FFFE就表示该文件采用小头方式。实例实例实例实例下面举一个实例。打开”记事本“程序Notepadexe新建一个文本文件内容就是一个”严“字依次采用ANSIUnicodeUnicodebigendian和编码方式保存。然后用文本编辑软件UltraEdit中的”十六进制功能“观察该文件的内部编码方式。字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…)ANSI:文件的编码就是两个字节“DCF”这正是“严”的GB编码这也暗示GB是采用大头方式存储的。)Unicode:编码是四个字节“FFFEE”其中“FFFE”表明是小头方式存储真正的编码是E。)Unicodebigendian:编码是四个字节“FEFFE”其中“FEFF”表明是大头方式存储。):编码是六个字节“EFBBBFEBA”前三个字节“EFBBBF”表示这是编码后三个“EBA”就是“严”的具体编码它的存储顺序与编码顺序是一致的。延伸阅读延伸阅读延伸阅读延伸阅读*TheAbsoluteMinimumEverySoftwareDeveloperAbsolutely,PositivelyMustKnowAboutUnicodeandCharacterSets(关于字符集的最基本知识)*谈谈Unicode编码*RFC:,atransformationformatofISO(如果实现的规定)(完)文档信息文档信息文档信息文档信息版权声明:自由转载非商用非衍生保持署名|CreativeCommonsBYNCND原文网址:http:wwwruanyifengcomblogasciiunicodeandhtml最后修改时间:年月日:字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…相关文章相关文章相关文章相关文章:快速排序(Quicksort)的Javascript实现日本程序员norahiko写了一个排序算法的动画演示非常有趣。:Firebug控制台详解Firebug是网页开发的利器能够极大地提升工作效率。功能链接功能链接功能链接功能链接前一篇:前一篇:前一篇:前一篇:《新编高中文言文助读》原文及翻译后一篇:后一篇:后一篇:后一篇:年最佳政治漫画更多内容请访问:更多内容请访问:更多内容请访问:更多内容请访问:首页»档案»IT技术站内搜索:站内搜索:站内搜索:站内搜索:文字处理GO!Feed订阅:订阅:订阅:订阅:广告广告广告广告字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…留言(留言(留言(留言(条)条)条)条)Stark说:说:说:说:很有意思的内容讲解得通俗易懂非常感谢您用较长的时间学习并用精简的语言概括年月日:|档案|引用flyisland说:说:说:说:本人是计算机从业人员对文中提到的知识也都基本了解但是像阮兄这样花了半天时间就弄清楚来龙去脉同时讲述的如此清楚实在佩服。本帖有pmp嫌疑但实在是不能不p啊:)。我想动手写过技术文章的人都会同意我的。年月日:|档案|引用只如初见只如初见只如初见只如初见说:说:说:说:是啊我这个超级菜鸟都看明白了阮兄对技术的理解和说明能力叫人佩服谢谢分享。年月日:|档案|引用姬着姬着姬着姬着说:说:说:说:文章里说:UCS编码方式即直接用两个字节存入字符的Unicode码。那USC编码方式如何实现超过两个字节的符号的存储?谢谢年月日:|档案|引用大徐大徐大徐大徐说:说:说:说:对了解字符编码很有帮助谢谢!年月日:|档案|引用RuanYiFeng说:说:说:说:字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…引用只如初见的发言:引用只如初见的发言:引用只如初见的发言:引用只如初见的发言:是啊我这个超级菜鸟都看明白了阮兄对技术的理解和说明能力叫人佩服谢谢分享。“延伸阅读”中第一个链接才是真正的通俗易懂我只是向他学习而已。年月日:|档案|引用RuanYiFeng说:说:说:说:引用姬着的发言:引用姬着的发言:引用姬着的发言:引用姬着的发言:文章里说:UCS编码方式即直接用两个字节存入字符的Unicode码。那USC编码方式如何实现超过两个字节的符号的存储?谢谢USC只能用存储两个字节的Unicode超过这一范围的符号它不能表示。年月日:|档案|引用Annis说:说:说:说:我是Annis,想邀请您参加拼搏到底FeedSky博客挑战赛这是一个很好的宣传、展示自己的机会有兴趣您可以自己到相关网站了解具体参赛细节。http:wwwfeedskycomchallengeu=年月日:|档案|引用Bill说:说:说:说:PS:本文只是主要介绍了编码下面这篇文章对于GB码与Big有更详细的介绍。汉字编码中现在主要用到的有三类包括GBKGB和Big。字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…、GB又称国标码由国家标准总局发布年月日实施通行于大陆。新加坡等地也使用此编码。它是一个简化字的编码规范当然也包括其他的符号、字母、日文假名等共个图形字符其中汉字占个。我们平时说个汉字实际上里边有个编码为空白所以总共有个汉字。GB规定“对任意一个图形字符都采用两个字节表示每个字节均采用七位编码表示”习惯上称第一个字节为“高字节”第二个字节为“低字节”。GB中汉字的编码范围为第一字节xBxF(对应十进制为)第二个字节xAxFE(对应十进制为)。GB将代码表分为个区对应第一字节(xaxfe)每个区个位(xaxfe)对应第二字节两个字节的值分别为区号值和位号值加(OH)因此也称为区位码。区为符号、数字区区为汉字区(xbxf)区、区是有待进一步标准化的空白区。、Big又称大五码主要为香港与台湾使用即是一个繁体字编码。每个汉字由两个字节构成第一个字节的范围从X-XFE(即)共种。第二个字节的范围不连续分别为X-XE(即)XA-XFE(即)共种。、GBK是GB的扩展是向上兼容的因此GB中的汉字的编码与GBK中汉字的相同。另外GBK中还包含繁体字的编码它与Big编码之间的关系我还没有弄明白好像是不一致的。GBK中每个汉字仍然包含两个字节第一个字节的范围是xxFE(即)第二个字节的范围是xxFE(即)。GBK中有码位个包含汉字个。Bill再推荐一个网站专门介绍汉字与汉字计算机化的汉典http:wwwzdicnet年月日:|档案|引用简单简单简单简单说:说:说:说:http:wwwzdicnet很强的网站收藏年月日:|档案|引用字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…RuanYiFeng说:说:说:说:引用Bill的发言:引用Bill的发言:引用Bill的发言:引用Bill的发言:本文只是主要介绍了编码下面这篇文章对于GB码与Big有更详细的介绍。这篇网志中有两个地方需要补充一下我忘了在原文中提到。国际标准化组织通过了一套ISO的编码规定了单字节个符号的编码方式。目前这是位编码的国际标准。Unicode编码中表示字节排列顺序的那个文件头叫做BOM(byteordermark)FFFE和FEFF就是不同的BOM。文件的BOM是“EFBBBF”但是的字节顺序是不变的因此这个文件头实际上不起作用。有一些编程语言是ISO编码所以如果用针对这些语言编程序就必须去掉BOM即保存成“无BOM”的格式才可以PHP语言就是这样。年月日:|档案|引用请教请教请教请教说:说:说:说:我怎么用notepad保存成后用UltraEdit看还是FFFEE啊???年月日:|档案|引用请教请教请教请教说:说:说:说:引用请教的发言:引用请教的发言:引用请教的发言:引用请教的发言:字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…我怎么用notepad保存成后用UltraEdit看还是FFFEE啊???哦知道了。是UltraEdit默认会以的方式打开编码的文件要设置或者用HexWorkshop打开就可以看到楼主所说的效果。年月日:|档案|引用Cloudream说:说:说:说:(点击支持我)这些字符是违反adsense规定的……年月日:|档案|引用jackywdx说:说:说:说:这么精彩的讲解实在不得不向作者致敬!内容讲解得非常详细但又通俗易懂谢谢了~~年月日:|档案|引用jinwangen说:说:说:说:非常感谢年月日:|档案|引用LMN说:说:说:说:非常感谢值得一看年月日:|档案|引用网友网友网友网友说:说:说:说:标题“Unicode与之间的转换”不严谨。Unicode是一种字符集概念比较抽象你已经提到它存储的时候必须用适当的编码方式。你的标题的意思实际上是和之间的转换。字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…至于windowsnotepad保存对话框的编码方式列表中列出“Unicode”这一个名字实际上是一个通俗的称呼(来自windowsNT的早期版本的习惯一直沿用)指而不是严格的称呼。希望你行文不要受这个影响。年月日:|档案|引用RuanYiFeng说:说:说:说:引用网友的发言:引用网友的发言:引用网友的发言:引用网友的发言:标题“Unicode与之间的转换”不严谨。Unicode是一种字符集概念比较抽象你已经提到它存储的时候必须用适当的编码方式。你的标题的意思实际上是和之间的转换。不等于unicode啊不能混为一谈。年月日:|档案|引用IvanWONG说:说:说:说:嗯,看完了長不少知識年月日:|档案|引用MichaelZheng说:说:说:说:我只能这么说看了那么多的对字符集的解释这个绝对是最通俗易懂并且还解决了常见疑问的最好的文章:)收藏年月日:|档案|引用wxs说:说:说:说:很好的一编文章年月日:|档案|引用字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…人跟人的差距咋就这么大呢人跟人的差距咋就这么大呢人跟人的差距咋就这么大呢人跟人的差距咋就这么大呢说:说:说:说:好文章!收藏了!楼主何不把ansi编码方式也说说!让俺这样的小学新生借楼主的理解能力再学习一把年月日:|档案|引用学习了学习了学习了学习了说:说:说:说:学习了年月日:|档案|引用水中鱼水中鱼水中鱼水中鱼说:说:说:说:引用RuanYiFeng的发言:引用RuanYiFeng的发言:引用RuanYiFeng的发言:引用RuanYiFeng的发言:不等于unicode啊不能混为一谈。扩充了Unicode包括了一些稀有字符想我们国家的满文藏文等等两者基本上等价年月日:|档案|引用heroboy说:说:说:说:其实我认为编码其实有个意思。一个是把字符和数字对应起来(比如unicode和GBXXXX等)。还有就是相应在数字在计算机中的表示也就是和字节序列对应起来(比如mbcs等)。我有个问题windows下的mbcs编码()用的编码()是不是GB系列的编码()而unicode编码()用的是unicode编码()年月日:|档案|引用Demo说:说:说:说:字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…拜读。。。受益匪浅。。长见识了。。顶楼主年月日:|档案|引用GoBoat说:说:说:说:很精彩啊年月日:|档案|引用yangxiups说:说:说:说:有时总想去搞清楚他们的区别可总是无果而终。讲的很通俗。收藏了。年月日:|档案|引用Maxwell说:说:说:说:通俗易懂对楼主的付出表示感谢。好文章收藏!年月日:|档案|引用hao说:说:说:说:Bigendian是大头还是大尾?年月日:|档案|引用gaga说:说:说:说:本文充分展现了阮兄收集信息总结和归纳信息的能力佩服和学习!年月日:|档案|引用BATMAN说:说:说:说:非常感谢楼主提供的信息支持个年月日:|档案|引用zhangzhen说:说:说:说:挺好的谢谢字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…年月日:|档案|引用陈陈陈陈说:说:说:说:谢谢年月日:|档案|引用Texas说:说:说:说:非常感谢楼主。请继续写DBCS>UNICODE的文章年月日:|档案|引用riskman说:说:说:说:写得真不错!!年月日:|档案|引用Taken说:说:说:说:感谢阮兄精彩讲解收获良多另:能否稍微再增加点,的基本介绍和应用范围的介绍年月日:|档案|引用syjun说:说:说:说:非常感谢这篇文章我想请问一下GBK和BIG之间的关系是怎样的呢?是包含还是交集呢?年月日:|档案|引用gg说:说:说:说:引用syjun的发言:引用syjun的发言:引用syjun的发言:引用syjun的发言:非常感谢这篇文章我想请问一下GBK和BIG之间的关系是怎样的呢?是包含还是交集呢?字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…完全不同的两套编码标准对应不同的代码页。同样的字在big和GBK中的编码是不一样的。年月日:|档案|引用Honeyhacker说:说:说:说:相当不错这是我打算研究编码的时候看到的第一篇文章。几天之后再来评论!!年月日:|档案|引用Honeyhacker说:说:说:说:你在文中提到:“最大的一个特点就是它是一种变长的编码方式。它可以使用~个字节表示一个符号根据不同的符号而变化字节长度”。我在http:devcsdnnetdeveloparticleshtm上看到:以下是Unicode和之间的转换关系表:UUF:xxxxxxxUUFF:xxxxxxxxxxxUUFFFF:xxxxxxxxxxxxxxxxUUFFFFF:xxxxxxxxxxxxxxxxxxxxxUUFFFFFF:xxxxxxxxxxxxxxxxxxxxxxxxxxUUFFFFFFF:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx该文中明显说到不限于四个字节。请问得到个字节的结论是从哪里找到的?年月日:|档案|引用RuanYiFeng说:说:说:说:引用Honeyhacker的发言:引用Honeyhacker的发言:引用Honeyhacker的发言:引用Honeyhacker的发言:字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…该文中明显说到不限于四个字节。请问得到个字节的结论是从哪里找到的?早先的规定是可以到个字节。但是这已经废除了目前规定是只支持个字节大于UFFFFF的符号不再支持。具体请参阅wikipedia。年月日:|档案|引用Honeyhacker说:说:说:说:原来如此!感谢你的回复!再问一个问题从网络中抓获的数据报在用wireshark分析的时候如何判断其中的哪些数据使用了Unicode编码?(从snort给出的信息中该条数据确实有Unicode编码)。年月日:|档案|引用morpheus说:说:说:说:前辈计算机怎么知道三个字节表示一个符号而不是分别表示三个符号呢这个是怎么实现的呢我有点不明白还望回复一下感激不尽。年月日:|档案|引用Honeyhacker说:说:说:说:或者这样说两台主机通信的时候A接收到B发送的消息后它如何知道该报文采取的是什么编码类型?在报文的格式里面好像没有提到这一点吧!年月日:|档案|引用chenfeng说:说:说:说:引用RuanYiFeng的发言:引用RuanYiFeng的发言:引用RuanYiFeng的发言:引用RuanYiFeng的发言:不等于unicode啊不能混为一谈。Windows从NT开始一开始的内码是UCS只支持UnicodeBMP字符后来字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…做了扩充目前的内码就是通常不严格地称为Unicode。年月日:|档案|引用Honeyhacker说:说:说:说:引用Honeyhacker的发言:引用Honeyhacker的发言:引用Honeyhacker的发言:引用Honeyhacker的发言:或者这样说两台主机通信的时候A接收到B发送的消息后它如何知道该报文采取的是什么编码类型?在报文的格式里面好像没有提到这一点吧!已经弄明白了!不可一概而论!年月日:|档案|引用想想想想说:说:说:说:受益匪浅谢谢老师!年月日:|档案|引用挪威的森林挪威的森林挪威的森林挪威的森林说:说:说:说:好文!是我看过的关于字符字符集入门文章中最通俗易懂而又有效的一篇!年月日:|档案|引用wangkai说:说:说:说:佩服不得不顶一直想搞清楚今天总算清楚了一点年月日:|档案|引用wangkai说:说:说:说:关于第点:实例我照着做了但是结果却不是这样后面三种方式显示的都是FFFEE这是怎么回事?我用的是vista系统字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…年月日:|档案|引用ArthurLee说:说:说:说:通俗易懂受益匪浅谢谢指教!O(∩∩)O~年月日:|档案|引用www说:说:说:说:很感谢写的很生动楞看了百度百科半天没懂。。。年月日:|档案|引用xingyifeng说:说:说:说:谢谢你们的讨论很精彩这样才会有长进年月日:|档案|引用手脚冰凉手脚冰凉手脚冰凉手脚冰凉说:说:说:说:一直对这些字符集和编码比较头疼今天看了阮兄和大家的讨论终于有点清楚了谢谢阮兄给大家带来这么好的文章。年月日:|档案|引用illidanzen说:说:说:说:通俗易懂我顶!年月日:|档案|引用sanki说:说:说:说:不错不错写得太棒了!年月日:|档案|引用cocobear说:说:说:说:写得不错。。年月日:|档案|引用字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…IT民工民工民工民工说:说:说:说:>需要注意的是Unicode只是一个符号集它只规定了符号的二进制>代码却没有规定这个二进制代码应该如何存储。>比如汉字“严”的unicode是十六进制数E转换成二进制数足>足有位()也就是说这个符号的表示至少需>要个字节。表示其他更大的符号可能需要个字节或者个字节甚>至更多。有一点疑问unicode编码使用个字节也就是位进制数字来表示字符那么在存储的时候为什么会超过个字节以上呢?unicode所能定义的符号总共有个而且里面的每一个符号都是用个字节表示的包括ascii码也都是在高位补零的麻烦楼主解释一下年月日:|档案|引用vivi说:说:说:说:在实例中我这里ASCII码是DCF。但是其它的存储方式打开都是显示FFFEE,不论用什么方式存储年月日:|档案|引用jinglu说:说:说:说:非常生动形象易于理解很不错。年月日:|档案|引用xix说:说:说:说:太感谢您的文章了收藏了。之前也看过几篇介绍编码的但都是语言生硬晦涩的长篇大论感觉太专业、太复杂看着头大。这篇文章总结的很好本来繁杂的东东理得很清晰易懂。感谢!年月日:|档案|引用patric说:说:说:说:vivi说:在实例中我这里ASCII码是DCF。但是其它的存储方式打开都是显示FFFE字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…E,不论用什么方式存储我操作了和你说的情况一样。年月日:|档案|引用说:说:说:说:一知半解误人子弟年月日:|档案|引用美丽明天美丽明天美丽明天美丽明天说:说:说:说:我想把网站做成韩文的,不知道有什么好方法年月日:|档案|引用jhx说:说:说:说:谢谢了!年月日:|档案|引用houkai说:说:说:说:写的很通俗学懂了谢谢!年月日:|档案|引用goodappli说:说:说:说:第一个参考链接太难打开了半天都没有载入让人崩溃改天再试。年月日:|档案|引用flowsands说:说:说:说:阮大有空再来聊聊新字符集国标GB吧Supersetofgb参见:http:enwikipediaorgwikiGB年月日:|档案|引用XjAcKs说:说:说:说:字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…原来是这样这下更清楚了。谢谢!年月日:|档案|引用allen说:说:说:说:感谢写的很清楚详细年月日:|档案|引用htc说:说:说:说:写得太好了感谢楼主的贡献年月日:|档案|引用mlmt说:说:说:说:正在头痛这个编码的事感谢楼主。延伸阅读里的第一个链接是英文再次证明学好英文是一件多少重要的事。年月日:|档案|引用Tdou说:说:说:说:写的通俗易懂谢谢了!年月日:|档案|引用Harly说:说:说:说:此文从框架上说明了字符编码的套路。我见过太多的不明就里的人写这样的文章试图阐明字符编码系统但限于其人先天上大脑逻辑混乱后天上一知半解结果就是胡说八道情形就像:分不清class和instance的区别。年月日:|档案|引用azziporah说:说:说:说:引用Harly的发言:引用Harly的发言:引用Harly的发言:引用Harly的发言:此文从框架上说明了字符编码的套路。我见过太多的不明就里的人写这样的文章试图阐明字符编码系统但限于其人先天上大脑逻辑混乱后字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…天上一知半解结果就是胡说八道情形就像:分不清class和instance的区别。非常同意ls的观点字符编码是跨越电子通信和语言文字两大领域的庞大系统。其一是“编码”本身伴随着电子和通信技术的发展一直在改进同时也带来了许多legacy的产物其二是“字符”由于人类语言书写系统的多样性和复杂性将编码应用到语言文字上来又是一大难题各种语言文字有各自的出发点和难点。因此尝试解决这一混乱局面的UCSUnicode实在是一项恢弘的工程。无怪乎lz在开头就说了这个问题比他想象中复杂。即使是现在最常见的bitASCII虽然看上去比较简单、且有些杂乱无章实则每个字符的排布都经过了精心的设计包括性能上的、工程上的、兼容性上的许多考虑因素。另外说起字符编码就会有许多含糊不清、容易混淆的词汇其中很多是基于历史原因还有一些以讹传讹的和巧合的因素这方面也是需要注意的。对于大多数人来说即使您已经系统地学习过数电计算机课程我仍然推荐阅读《编码的奥秘》。有较好的基础的人可以参考一下资料http:scriptssilorgHomehttp:wwwunicodeorgstandardstandardhtmlhttp:msdnmicrosoftcomenuslibrarydd(v=VS)aspx年月日:|档案|引用盗版小米米盗版小米米盗版小米米盗版小米米说:说:说:说:形象生动易于理解!!!!牛年月日:|档案|引用RGLS说:说:说:说:非常感谢lz的文章介绍得很清楚。年月日:|档案|引用树树树树树树树树说:说:说:说:字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…树树树树树树树树说:说:说:说:写得很好一直不太明白字符编码方面的东西年月日:|档案|引用ooo说:说:说:说:细想起来可能这是我看到的最好一阐述编码的文章精炼易懂bigendian和littleendian来源的有趣介绍让人印象深刻年月日:|档案|引用atom说:说:说:说:文章恒久远一篇永流传。感谢阮兄的劳动!年月日:|档案|引用cming说:说:说:说:bigendian和littleendian应该有更好的译名:大、小端。在网络编程和嵌入式方面都是这样译。年月日:|档案|引用落叶落叶落叶落叶说:说:说:说:刚研究UNICODE与ASCII之间的转换工具突然想到为啥和UNICODE长得这么像啊如果Google了一下看到这篇文章真的不错。年月日:|档案|引用yanghe说:说:说:说:通俗易懂支持年月日:|档案|引用frostmoon说:说:说:说:正在学习编码兄弟的文章通俗易懂豁然开朗!年月日:|档案|引用javie说:说:说:说:字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…奇怪我的“严”的二进制怎么都是fffee??试过记事本emeditorultraedit都是年月日:|档案|引用johnw说:说:说:说:拜读了最近正在弄Java的乱码问题看完了明白了很多原理性的东西!年月日:|档案|引用我要发表看法我要发表看法我要发表看法我要发表看法您的留言(HTML标签部分可用)您的大名:«必填电子邮件:«必填不公开个人网址:«我信任你不会填写广告链接记住个人信息?发表«点击按钮联系方式|ruanyifengcom字符编码笔记:ASCIIUnicode和…ruanyifengcom…asciiunicodeand…

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/26

字符编码笔记:ASCII,Unicode和UTF-8

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利