【发布时间】:2012-05-14 13:22:19
【问题描述】:
我正在开发一个 Java 插件,它允许人们通过指定他们希望使用的字符集编码来写入和读取文件。但是,我对如何在一个文件中编码多个编码感到困惑。例如,假设 A 字符来自一个字符集,B 字符来自另一个字符集,是否可以将“AAAAABBBBBAAAAA”写入文件?
如果不可能,这对于任何编程语言是否普遍如此,或者特别是对于 Java?如果可能的话,我将如何继续读取(解码)文件?
我不想使用 Charset 的 encode() 和 decode() 方法,因为对它们的测试失败了(某些字符集没有正确解码)。由于各种原因我也不想使用第三方程序,所以这个问题的范围纯粹是在标准的java包/代码中。
非常感谢!
NS
【问题讨论】:
-
您可以将不同编码产生的字节写入同一个文件,但您不一定能够在不知道字符编码之间的边界在哪里的情况下解码文件。在读取应该解码为 B 的字节时,您需要知道生成的字符是否是 B。鸡和蛋的问题。
标签: java character-encoding java-io