在Java中将字符串从ASCII转换为EBCDIC?

2022-09-02 05:23:45

我需要编写一个“简单”实用程序才能从ASCII转换为EBCDIC?

Ascii来自Java,Web,并进入AS400。我有一个谷歌,似乎找不到一个简单的解决方案(也许没有一个:()。我希望有一个开源的util或付费的util已经写好了。

也许像这样?

Converter.convertToAscii(String textFromAS400)
Converter.convertToEBCDIC(String textFromJava)

谢谢

斯科特


答案 1

请注意,Java 中的字符串保存 Java 本机编码的文本。在内存中保存ASCII或EBCDIC“字符串”时,在编码为字符串之前,您将将其放在一个字节中[]。

ASCII -> Java:   new String(bytes, "ASCII")
EBCDIC -> Java:  new String(bytes, "Cp1047")
Java -> ASCII:   string.getBytes("ASCII")
Java -> EBCDIC:  string.getBytes("Cp1047")

答案 2

JTOpen,IBM的Java工具箱的开源版本有一组类来访问AS/400对象,包括FileReader和FileWriter来访问原生AS400文本文件。这可能更容易使用,然后编写自己的转换类。

来自JTOpen主页:

以下是您可以使用 JTOpen 访问的众多 i5/OS 和 OS/400 资源中的一小部分:

  • 数据库 -- JDBC (SQL) 和记录级访问 (DDM)
  • 集成文件系统
  • 程序调用
  • 命令
  • 数据队列
  • 数据区域
  • 打印/假脱机资源
  • 产品和 PTF 信息
  • 作业和作业日志
  • 消息、消息队列、消息文件
  • 用户和组
  • 用户空间
  • 系统值
  • 系统状态

推荐