lanzinc 发表于 2010-9-6 18:08:10

请教关于TXT文件编码转换的问题

我发现MGC下KWrite grep等处理和产生的文件的编码和Windows下软件产生的文件有差异
MGC下UTF-8等编码条件下,英文字母是单字节的,只有汉字是双字节的
而Windows的TXT文件,无论是英文还是汉字都是双字节的。
而notepad的unicode和utf-8的文件用16进制编辑器打开发现其实是一样的。

有几个windows下的文件(比较大)想用MGC下工具处理,不能不转换编码(转换成grep sed等能处理的编码)。
但iconv转不了(也许我用法不对)
不知道还有没有其他办法?
附件是一些截图
谢谢!

想找比较现成可靠的工具直接转,自己用C编很可能会有些问题。

[ 本帖最后由 lanzinc 于 2010-9-6 18:18 编辑 ]

jiangtao9999 发表于 2010-9-6 18:36:50

windows 的txt 在文件头部有编码识别标志。linux 貌似没这个习惯,不过好像有的编辑器可以识别这个标志。

zy_sunshine 发表于 2010-9-6 18:45:33

kwrite可以直接转编码,工具栏中有。

lanzinc 发表于 2010-9-6 21:19:47

那几个windows下的文件应该是UTF-16的
MGC的grep把他当成ASCII的字符流了,00当成一个字符。
或当成二进制文件了

现在不在作业的那台机器上,
现在有两个方案,我到时候试试
1。用工具在windows平台上将unicode转成所说的ANSI文件,再移到MGC下

2。文件在MGC下,locale不修改,还是用GB的,然后
iconv -f utf-16le -t GBK thefile -o output

看来又被Windows给骗了,google了一下,确实应该是UTF-16的

小灰灰 发表于 2010-9-6 21:37:23

还有记事本保存的utf8编码文件,会在头上加上EF BB BF,linux下处理可能会有麻烦的。

zerroking 发表于 2010-9-7 01:32:06

madedit,台湾出的编辑器,我一直拿它在Linux下转文本。
页: [1]
查看完整版本: 请教关于TXT文件编码转换的问题