在java中的二进制流中使用真正的UTF-8

时间:2013-07-02 17:35:58

标签: java utf-8

在Java中,DataInputStreamDataOutputStream类具有readUTFwriteUTF,它们使用修改后的UTF-8格式。没关系,如果这些文件仅由其他Java程序或相同的Java程序使用,但是如果它们也是由不同语言的程序读取/写入的话呢?或者如果您使用标准格式,例如期望正常UTF-8编码的BSON,该怎么办?除了使用Charset手动编码/解码字符串之外,有没有办法使用DataInputDataOutput的真正的UTF-8编码?

1 个答案:

答案 0 :(得分:1)

使用InputStreamReader和InputStreamWriter,您可以使用特定编码初始化流。

如果您正在使用json流,请使用像gson一样处理json流的库,这些库应该遵循json.org格式,您不应该使用带有奇怪编码的字符串流来传输json流