日期:2014-05-20  浏览次数:20724 次

JAVA编码,用EUC-CN读取UTF-8后,再用UTF-8写回覆盖原文文件,是否该文件就损坏了?
基本情况:
MAC平台 : 默认的字符集是UTF-8
JAVA平台:使用UFT-8

操作(纯属失误。。):
将UTF-8编写(可以在JAVA和文本显示)的文件用EUC-CN读入内存,然后用默认的UTF-8写回去,覆盖了原文件。

这种情况,用EUC-CN读UTF-8会不会造成byte损失啊,还能恢复么?
现在只能在内存中的到用EUC-CN读取的UTF-8文字,都是乱码。想不出有什么好的方式能转换回去,主要是覆盖了原始文件,文字数据全部丢失了。。

------解决方案--------------------
肯定是不一致了
------解决方案--------------------
你解码的时候用的EUC-CN,那时候就乱码了,得用EUC-CN编码,然后用UTF-8解码,当然还有其他问题,我不了解EUC-CN,UTF-8和GBK之间的编码解码会乱码,楼主试下先用UTF-8解码,然后用EUC-CN编码,然后再用UTF-8解码,不知道行不行,1楼版主是大神的
------解决方案--------------------
引用:
你解码的时候用的EUC-CN,那时候就乱码了,得用EUC-CN编码,然后用UTF-8解码,当然还有其他问题,我不了解EUC-CN,UTF-8和GBK之间的编码解码会乱码,楼主试下先用UTF-8解码,然后用EUC-CN编码,然后再用UTF-8解码,不知道行不行,1楼版主是大神的

刚查了下EUC-CN,估计是不行了