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