我使用FileInputStream 从一个.dat二进制文件读取内容,并用FileOutputStream的write(bytes,0,len)方法将其写入另外一个二进制文件,文件的其他部分都是对的,但是遇到有中文的部分都不对,用UE打开两份文件对照,中文部分的十六进制代码是不相同的,请问为什么会出现这样的情况,我将文件读进byte数组后没有对数组进行任何操作直接写入文件的,为什么中文部分写不对呢?
调试欢乐多
把代码贴出来看看.
楼上某个大哥说Java用默认编码方式来转的.这是错误的.你直接读写字节,Java怎么可能转换.如果说要转换的话,那是你用读取的字节去赋给一个String,这时才会涉及到编码及解码的问题.