将Windows-1257转换为ISO-8859-13 java charset

时间:2013-09-28 10:43:31

标签: java encoding

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

我试过这样:

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

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

1 个答案:

答案 0 :(得分: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文本。 二进制byte [] s / InputStream& OutputStream用于二进制数据。

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

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