1

我正在使用 Apache Commons 的 ToStringBuilder 来生成实体 toString 的块内容。但是对于某些实体,有用“ISO-8859-15”编码的字符串字段,所以我想知道生成的 toString 是否会使用平台的默认值(我的 vm 上的 UTF-8),而值输出不正确。

谢谢你的帮助

4

1 回答 1

3

Java 字符串始终使用Unicode作为字符。

只有在从/向文件读取/写入字符串时,编码才会成为问题。或者例如将字符串转换为字节数组时。

从这个意义上说:您不必担心字符串生成器。您必须担心“数据最初来自哪里”和“要去哪里”。

只是为了完整性:是的,Java String 类有一个构造函数,您可以在其中传入所需的编码- 但该构造函数将字节数组作为第一个参数。如前所述:在这种情况下,您必须担心编码。

于 2018-01-23T08:25:50.297 回答