java - 如何将 java 字符串转换为代码页 857

标签 java

我需要将 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/

相关文章:

java - 一年中一周的 Java 日期库不一致

java - Mockito 中 spy 的详细模式

java - 在整个应用程序中仅将属性加载到应用程序中一次

java - 使用 javaConfig 找不到类

java - 如何将阔叶百里香切换到 angularjs ui

java - 比游戏循环更快地检查按键

java - 如何使用Android Java在zebra ez320上打印条码?

java - 在Spring 4.1.5中配置事务而不使用XML

java - 在 REST API 中进行 DTO 验证后,将代码错误作为 ResponseEntity 返回

java - 有没有办法在android编程中制作两种数据类型的数组