可以用Java在多个字符集中编码文件吗?

Jon*_*tre 2 java character-encoding java-io

我正在开发一个Java插件,它允许人们通过指定他们希望使用的字符集编码来写入和读取文件.但是,我对如何在单个文件中编码多个编码感到困惑.例如,假设A字符来自一个字符集而B字符来自另一个字符,是否可以将"AAAAABBBBBAAAAA"写入文件?

如果不可能,对于任何编程语言,或者特别是Java,这通常是正确的吗?如果有可能,我将如何继续读取(解码)文件?

我不想使用Charset的encode()和decode()方法,因为使用它们的测试失败了(一些字符集未被正确解码).我也不想出于各种原因使用第三方程序,所以这个问题的范围纯粹是标准的java包/代码.

非常感谢!
NS

Bal*_*usC 8

您需要将其作为字节流读取并事先知道字符开始和结束的字节位置,或使用一些特殊的分隔符/字节范围来指示字符组的开始和结束.这样,您可以获取特定字符组的字节,最后使用所需的字符编码对其进行解码.

此问题并非特定于Java.这个要求很奇怪.我想知道如何混合像这样的字符编码.只需使用一种统一编码,例如UTF-8,它几乎支持人类所知的所有字符.