我们的要求是将 EBCDIC 文本发送到大型机。我们有一些汉字,因此是 UTF8 格式。 那么,有没有办法将 UTF-8 字符转换为 EBCDIC?
谢谢, 拉吉·莫汉
Best Answer-推荐答案 strong>
假设您的目标系统是 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/
|