OGeek|极客世界-中国程序员成长平台

标题: java - Java 中的 UTF-8 到 EBCDIC [打印本页]

作者: 菜鸟教程小白    时间: 2022-9-14 14:17
标题: java - Java 中的 UTF-8 到 EBCDIC

我们的要求是将 EBCDIC 文本发送到大型机。我们有一些汉字,因此是 UTF8 格式。
那么,有没有办法将 UTF-8 字符转换为 EBCDIC?

谢谢,
拉吉·莫汉



Best Answer-推荐答案


假设您的目标系统是 IBM 大型机或中型机,它完全支持内置在其 JVM 中的所有 EBCDIC 编码,作为名为 CPxxxx 的编码,对应于 IBM CCSID(CP 代表代码页)。您需要在主机端进行翻译,因为客户端将没有必要的编码支持。

由于 Unicode 是 DBCS 及更高版本,并且支持所有已知字符,因此您可能会以多种 EBCDIC 编码为目标;所以你可能会以某种方式配置这些编码。尝试让您的客户端仅使用 Unicode(UTF-8、UTF-16 等),并在数据到达主机和/或离开主机系统时完成转换。

除了需要在主机端进行翻译外,机制与任何 Java 翻译相同;例如new String(bytes,encoding) 和 String.getBytes(encoding),以及各种 NIO 和 writer 类。真的没有什么魔法 - 这与在 ISO 8859-x 和 Unicode 或任何其他 SBCS(或有限 DBCS)之间进行转换没有什么不同。

例如:

byte[] ebcdta="Hello World".getBytes("CP037");  // get bytes for EBCDIC codepage 37

您可以在 IBM's documentation website 上找到更多信息.

关于java - Java 中的 UTF-8 到 EBCDIC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/771054/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4