ultraedit, editplus, notepad 与 UTF-8

[ 2007-05-21 16:35:03 | 作者: admin ]
字号: | |
以上四个工具对UTF-8 的支持不相同,曾经有过开发部门禁止
  使用editplus 来编辑UTF-8 文件。下面是我对四个工具对UTF-8 支持
  的总结:
  UTF-8 BOM header: 是三个字符: EF BB BF。
  1. notepad
   notepad 在保存时,选择UTF-8 格式,会在文件头写上BOM header.
  2. editplus
   文件保存时,选择UTF-8 格式,不会在文件头写上 BOM header.
  3. ultraedit
   ultraedit 对UTF-8 的支持最为完备。在advanced->configuration中可以
   选择文件保存时是否写上BOM header.
  4. vi
   指的是Linux 下的vim, 如果UTF-8 文件开头有BOM header, 其能够正常
  显示UTF-8 编码,否则,显示为乱码。
  还有一些编码转换工具,比如,可以用java 写一个简单的编码转换工具,
  这些工具是不会增加BOM header的。
以上四个工具对UTF-8 的支持不相同,曾经有过开发部门禁止 使用editplus 来编辑UTF-8

文件。下面是我对四个工具对UTF-8 支持 的总结: UTF-8 BOM header: 是三个字符: EF

BB BF。 1. notepad notepad 在保存时,选择UTF-8 格式,会在文件头写上BOM header.

2. editplus 文件保存时,选择UTF-8 格式,不会在文件头写上 BOM header. 3.

ultraedit ultraedit 对UTF-8 的支持最为完备。在advanced->configuration中可以 选

择文件保存时是否写上BOM header. 4. vi 指的是Linux 下的vim, 如果UTF-8 文件开头有

BOM header, 其能够正常 显示UTF-8 编码,否则,显示为乱码。 还有一些编码转换工具

,比如,可以用java 写一个简单的编码转换工具, 这些工具是不会增加BOM header的。

UltraEdit 对UTF-8文件的自动处理
引用
关于Unicode 编码,这里http://www.aiview.com/2006/03/a_summary_for_utf-8_and_unicode_faq.html" title="http://www.aiview.com/2006/03/a_summary_for_utf-8_and_unicode_faq.html" target="_blank">有篇文章 可以参考。Unicode是几种多字节编码格式的统称,其中使用广泛的有UTF-8与UTF-16,而通常人们说Unicode时,实际是在指UTF-16编码,UltraEdit 就是这样,为了避免混淆,下面都按照标准引用名字。
使用UltraEdit 打开一个UTF-8 编码的文件,然后按ctrl+h 进入16进制模式查看文件内码,你会发现文件已经被转换成UTF-16 编码,并添加了UTF-16 little endian 的http://www.aiview.com/2006/10/unicode_byte_order_mark.html#" title="http://www.aiview.com/2006/10/unicode_byte_order_mark.html#" target="_blank">BOM :FF FE,UltraEdit 状态栏文件的尺寸也增加了不少。其实大可不必担心,可以回到正常模式继续编辑并保存,保存后的文件并没有改变编码格式,只是在编辑时使用UTF-16格式而已。
因此,如果通过UltraEdit打开文件查看BOM 来确定文件格式,并不是安全的。UltraEdit 下方状态栏则真实的显示了当前打开文件的实际编码格式,而不是当前编辑的编码格式。 对于一个普通Ascii 格式的文件,它显示为DOS 或者UNIX,对于一个包含有UTF-8编码字符的文件,它显示为U8-DOS 或者U8-UNIX,对于UTF-16编码的文件,它显示为U-DOS 或者U-UNIX。
我们知道,UTF-8 对于Ascii 字符的编码与原有的Ascii 编码一致,因此假如我们删除了一个UTF-8 DOS文件中所有Ascii 以外的字符,保存后再打开,UltraEdit 将显示为DOS(Ascii)。
如果我们不希望UltraEdit 在打开UTF-8 文件时自动转为UTF-16 格式编辑,我们可以修改配置。如下图,确保“自动检测 UTF-8文件”不被选中。
  http://www.aiview.com/ref/2007/02/ultraedit_cfg.jpg" target="_blank">Image http://www.aiview.com/ref/2007/02/ultraedit_cfg.jpg
需要注意的是,如果取消了这个选项,UltraEdit打开包含UTF-8编码的文件会产生乱码。
UltraEdit 在File-Convertions 菜单中提供了多种编码格式之间的转换,这将影响到保存的文件编码,转换后,在状态栏也能看到相应变化。在有些选项后标明有(Unicode Editing) 或者(ASCII Editing),这指定了编辑时显示用的编码,并不影响保存文件所用的编码,要区分开。
工具WinHex 可以用来查看文件16进制内码。
[最后修改由 admin, 于 2007-05-21 16:41:00]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=906

这篇日志没有评论。

此日志不可发表评论。