1
3
要回答您的第一个问题,您可以创建一个CharsetDecoder,并指定遇到格式错误的输入时希望发生的情况。
至于捕获不支持整个字符集的情况,它看起来像:
然而,我不确定是否有多重编码。我认为一个二进制流有多个编码是极不寻常的。流必须具有某种自定义的方式来指示编码更改。您必须一次从流中读取一个字符来查找该指示符。如果遇到这种情况,则必须在具有新编码的同一流上创建一个新的读取器。 在所有情况下,在Java中,一旦您从一个字节流到一个字符流,这些字符将在内存中表示,而不需要任何特定的编码,因此没有必要进行规范化,除非您将数据保存回某个地方。如果你打算稍后将数据保存回文件,那么我强烈建议你选择一种编码,并坚持使用它来存储所有数据。 |