字符编码之间的相互转换.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
字符编码之间的相互转换

字符编码之间的相互转换?UTF8与GBK C++?UTF8编码转换?CChineseCode?一?预备知识? 1,字符:字符是抽象的最小文本单位。它没有固定的形状(可能是一个字形),而且没有值。“A”是一个字符,“€”(德国、法国和许多其他欧洲国家通用货币的标志)也是一个字符。“中”“国”这是两个汉字字符。字符仅仅代表一个符号,没有任何实际值的意义。?? 2,字符集:字符集是字符的集合。例如,汉字字符是中国人最先发明的字符,在中文、日文、韩文和越南文的书写中使用。这也说明了字符和字符集之间的关系,字符组成字符集(iso8859-1,GB2312/GBK,unicode)。?? 3,代码点:字符集中的每个字符都被分配到一个“代码点”。每个代码点都有一个特定的唯一数值,称为标值。该标量值通常用十六进制表示。? 4,代码单元:?在每种编码形式中,代码点被映射到一个或多个代码单元。“代码单元”是各个编码方式中的单个单元。代码单元的大小等效于特定编码方式的位数:?UTF-8?:UTF-8?中的代码单元由?8?位组成;在?UTF-8?中,因为代码单元较小的缘故,每个代码点常常被映射到多个代码单元。代码点将被映射到一个、两个、三个或四个代码单元;?UTF-16?:UTF-16?中的代码单元由?16?位组成;UTF-16?的代码单元大小是?8?位代码单元的两倍。所以,标量值小于?U+10000?的代码点被编码到单个代码单元中;?UTF-32:UTF-32??中的代码单元由?32?位组成;?UTF-32?中使用的?32?位代码单元足够大,每个代码点都可编码为单个代码单元;?GB18030:GB18030??中的代码单元由?8?位组成;在?GB18030?中,因为代码单元较小的缘故,每个代码点常常被映射到多个代码单元。代码点将被映射到一个、两个或四个代码单元。??5,举例:?“中国北京香蕉是个大笨蛋”这是我定义的aka字符集;?各字符对应代码点为:??北?京?香?蕉?是?个?大?笨?蛋?中?国? 下面是我定义的?zixia?编码方案(8位),可以看到它的编码中表示了aka字符集的所有字符对应的?代码单元;? 北京香蕉是个大笨蛋中国? 所谓文本文件?就是我们按一定编码方式将二进制数据表示为对应的文本如?00000001000000100000010000001000000100000010000001000000这样的文件。我用一个支持?zixia编码和aka字符集的记事本打开,它就按照编码方案显示为??“香蕉是个大笨蛋?”?如果我把这些字符按照GBK另存一个文件,那么则肯定不是这个,而是?1100111111100011?1011110110110110?1100101011000111?1011100011110110?1011010011110011?1011000110111111?1011010110110000?110100001010???? 二,字符集 1,?常用字符集分类?ASCII及其扩展字符集?作用:表语英语及西欧语言。?位数:ASCII是用7位表示的,能表示128个字符;其扩展使用8位表示,表示256个字符。?范围:ASCII从00到7F,扩展从00到FF。?ISO-8859-1字符集?作用:扩展ASCII,表示西欧、希腊语等。?位数:8位,?范围:从00到FF,兼容ASCII字符集。?GB2312字符集?作用:国家简体中文字符集,兼容ASCII。?位数:使用2个字节表示,能表示7445个符号,包括6763个汉字,几乎覆盖所有高频率汉字。?范围:高字节从A1到F7,?低字节从A1到FE。将高字节和低字节分别加上0XA0即可得到编码。?BIG5字符集?作用:统一繁体字编码。?位数:使用2个字节表示,表示13053个汉字。?范围:高字节从A1到F9,低字节从40到7E,A1到FE。?GBK字符集?作用:它是GB2312的扩展,加入对繁体字的支持,兼容GB2312。?位数:使用2个字节表示,可表示21886个字符。?范围:高字节从81到FE,低字节从40到FE。?GB18030字符集?作用:它解决了中文、日文、朝鲜语等的编码,兼容GBK。?位数:它采用变字节表示(1?ASCII,2,4字节)。可表示

文档评论(0)

haocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档