我需要将java字符串转换为Code Page 857。我将此字符串发送到另一个系统,该系统逐字节读取字符串。如果此字符串包含任何一些土耳其字符,它将消耗2个字节。所以客户端(外部系统所有者)希望我们将字符串转换(设置标准)到代码页857(用于在DOS操作系统下编写土耳其语字符的标准)
如果有人可以帮我这个,请告诉我 提前致谢 沙棘
答案 0 :(得分:3)
在内部,Java将所有字符串表示为UTF-16。因此,String对象本身无法转换为特定的代码页。
但是,您可以获取一个字节数组,该数组使用特定字符集对
String.getBytes(Charset charset)
在您的情况下,您应该使用:
byte[] stringAsByteArray=myString.getBytes(Charset.forName("Cp857"));
根据here,Java应该支持Cp857,但你应该用
来检查Charset.isSupported("Cp857");