免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3165 | 回复: 3
打印 上一主题 下一主题

请问哪个大侠知道:把一个文件的格式转换为utf8格式? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-16 11:16 |只看该作者 |倒序浏览
请问哪个大侠知道:把一个文件的格式转换为utf8格式?

我想实现的目的是调用:compare来比对文件,来确定文件是否曾经修改过。

遇到的问题:发现有两个文件的格式不一直,直接比对,返回1;通过UE中的转换,由asc转到utf8后,比对结果返回0

我不想把文件内容全读到内存中(有些文件太大了)

希望直接转换文件格式,类似UE的格式转换的东东

论坛徽章:
0
2 [报告]
发表于 2009-12-16 14:14 |只看该作者
前提是你要知道原始文件是什么编码,比如是gb2312转utf8:

perl -MEncode -ne 'print encode("utf8",decode("gb2312",$_))' 1.txt > 2.txt

论坛徽章:
0
3 [报告]
发表于 2009-12-16 18:02 |只看该作者

回复 #1 jake20032004 的帖子

perldoc piconv

论坛徽章:
0
4 [报告]
发表于 2009-12-16 23:06 |只看该作者
文件的编码有什么办法检验么? 文件的具体格式我也是不知道的。
维护该文件的工具,是其他部门提供的,我们维护文件的内容

我上午用最笨的方法,一行一行读到内存,先用decode(gb2312)转,然后用utf8转,接着把结果保存到数组中,文件结束后就一次性把数组内容重定向到临时文件。然后比对临时文件,呵呵,是有些苯哈 ^_^

明天我用仙子的方法试试,呵呵,谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP