|
|
发表于 2005-11-29 18:08:42
|
显示全部楼层
Post by troll
大概是先检测BOM,没有的话再如何判断是否是文本文件。
file命令可以做到,如果是搞开发的可以看一下源码。
从BOM可以看出文件是否为unicode的编码。但对于其它8bit的字符集来说,BOM就象Windows下的文件的扩展名一样,不太可靠。
虽然unicode编码很容易检测,但除unicode外的很多字符编码都采取的是8bit的字符流:如gb2312, gbk这样的中文编码。想要gedit, vim这样的编辑器自动检测出一个text文件的字符集,不会显示乱码,恐怕只有一个个字符集地试,然后匹配各国文字的字典库才行。
所以说,还是unicode好啊. ;) |
|