我正在使用Apache Commons的ToStringBuilder来生成实体toString的块内容。 但是对于某些实体,有一些字符串字段用“ISO-8859-15”编码,所以我想知道生成的toString是否会使用平台的默认值(我的虚拟机上的UTF-8),其输出的值不正确。
感谢您的帮助
答案 0 :(得分:2)
Java字符串始终,使用 Unicode 表示字符。
从/向文件读取/写入字符串时,仅编码会成为问题。或者将字符串转换为字节数组时。
从这个意义上说:你不必担心字符串生成器。您必须担心“数据最初来自哪里”分别“转到”。
只是为了完整性:是的,Java String类有一个构造函数,您可以在其中传递所需的编码 - 但构造函数也作为第一个字节数组论点。如上所述:在这种情况下,你不得不担心编码。