1

我有应该转换为字符串的字节数组。该数组由 Windows-1257 编码文本组成。将此数组转换为字符串的最佳方法是什么?稍后我需要将字符串转换为 ISO-8859-13 字节数组,但我知道如何完成这部分工作。

我试过这样:

String result = new String(currentByteArray, "ISO-8859-13");

但当然在当地特色地方有垃圾。

4

1 回答 1

3
String unicodeString = new String(currentByteArray, "Windows-1257");
byte[] result = unicodeString.getBytes("ISO-8859-13");

或者

PrintWriter out = new PrintWriter(file, "ISO-8859-13");

Java 非常简单:String/Reader&Writer 是能够包含所有字符的 Unicode 文本。而 binary byte[]s/InputStream&OutputStream 用于二进制数据。

因此,字节的 String 构造函数需要这些字节的原始编码,而获取字节需要这些字节所在的编码。

请注意,有一个参数的重载版本,没有编码。使用平台编码;不便携。

于 2013-09-28T11:04:36.323 回答