网站大量收购闲置独家精品文档,联系QQ:2885784924

ltraEdit引出的字符编码问题.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UltraEdit引出的字符编码问题.txt曾经拥有的不要忘记;不能得到的更要珍惜;属于自己的不要放弃;已经失去的留作回忆。UltraEdit引出的字符编码问题(2007-05-24 16:26:25)转载 最近用ultraedit编辑python文件,遇到web显示中文乱码的问题,后来搜索终于找到了解决办法,感谢wewe80提供的资料,转贴如下: UltraEdit的问题及其编码 一.关于各种编码文件标记头 各种编码文件开头 UTF-8以 EF BB BF UTF-16以 FE FF(big-endian) FF FF(little-endian) UNICODE以 FF FE 一.各种编码对于中文: 各种编码对于中文: ASCII 中文 2个字节;英文:1个字节 UNICODE 中文 2个字节;英文:2个字节 UTF-8 中文 3个字节;英文:1个字节 (开头有2个字节表示长度) 二.中国的各种编码表示 ASCII 中国--D6 D0 B9 FA A--61 UTF-8 中国--E4 E8 AD E5 9B BD 61 A--61 UNICODE 中国--FF FE 2D 4E FD 56 A--61 00 三.关于UltraEdit的问题 1.用UNICODE编辑可以看到,默认的存储是ansi。用记事本的另存为即可看到其真实的存储格式。 2.UltraEdit打开utf-8会默认的用UNICODE方式来显示,我们要转化为ASCII显示,这样就能看到真实的utf编码了.在ASCII编辑模式下,会将utf-8编码当作gb2312来显示。 3.关于各种转化. 对于UNICODE/UTF-8转UTF-8(UNICODE编辑),我们可以看到中文字符,但是却看不到UTF-8的16进制表示,看到的都是UNICODE,因为UltraEdit会做内部转换。 对于UNICODE/ASCII/UTF-8-8转UTF-8-8(ASCII编辑),我们可以看到UTF-8-8的真实16进制表示,但是却看不到中文字符的正常显示。 4. 关于 中国a中国中国(6中文1英文) 倘不出问题,用ASCII转UTF-8-8(UNICODE编辑),这时在UNICODE中看到的文字的16进制编码是UNICODE格式,因为是UNICODE编辑的。但是保存却是UTF-8格式保存的。例如: 中国a中国中国 6中文1英文 用ASCII转UTF-8-8(ASCII编辑)用UltraEdit打开选择所有文字看到的是14字节,大小却为16字节,因为多了两个字节FF FE;保存文件之后看到的却是19字节,看样子UTF-8-8的EF BB BF的标记头并没有存储哦。 四.关于联通在记事本中的错误显示问题 在一些早期的UTF-8文件中并不要求一定要用EF BB BF的标记头,而是根据UTF-8-8的数据特征来判断。所以出现了联通和联的错误显示,因为将其认为是UTF-8格式编码。其检测里面所有字符是否遵循某种规则,而不仅仅是几个。所以联想就可以被正确识别,因为想不遵循UTF-8规则,而“联通”两个字都遵循UTF-8规则. 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词 这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢? 我很早前就发现Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FF、FE (Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。但这些标记是基于什么标准呢? 问题二: 最近在网上看到一个ConvertUTF.c,实现了UTF-32、UTF-16和UTF-8这三种编码方式的相互转换。对于Unicode(UCS2)、 GBK、UTF-8这些编码方式,我原来就了解。但这个程序让我有些糊涂,想不起来UTF-16和UCS2有什么关系。 查了查相关资料,总算将这些问题弄清楚了,顺带也了解了一些Unicode的细节。写成一篇文章,送给有过类似疑问的朋友。本文在写作时尽量做到通俗易懂,但要求读者知道什么是字节,什么是十六进制。 0、big endian和little endian big endian 和little endian是CP

文档评论(0)

ranfand + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档