QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1753|回复: 5

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

[复制链接]
发表于 2010-9-6 18:08:10 | 显示全部楼层 |阅读模式
我发现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 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2010-9-6 18:36:50 | 显示全部楼层
windows 的  txt 在文件头部有编码识别标志。linux 貌似没这个习惯,不过好像有的编辑器可以识别这个标志。
回复

使用道具 举报

发表于 2010-9-6 18:45:33 | 显示全部楼层
kwrite可以直接转编码,工具栏中有。
回复

使用道具 举报

 楼主| 发表于 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下处理可能会有麻烦的。
回复

使用道具 举报

发表于 2010-9-7 01:32:06 | 显示全部楼层
madedit,台湾出的编辑器,我一直拿它在Linux下转文本。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 17:42 , Processed in 0.038049 second(s), 17 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表