使用jtopen对EBCDIC码与GBK之间进行互相转换
文章目录
AS/400采用EBCDIC编码保存在QSYS.LIB中的所有中文字符,而在pc端winows 95,windows NT采用GBK内码保 存中文字符,两者之间在进行中文数据传输的时候,会遇到EBCDIC和GBK的相互转换。有两种方法,一种是手工构造码表进行转换,一种是使用jtopen, IBM Toolbox for Java的开源版本进行转换,本文介绍第二种方法。
jtopen 类库
jtopen的官方网站:http://jt400.sourceforge.net/,jtopen提供了一个java工具类库,使用该类库可以方便的对IBM I ( i5/OS or OS/400)系列服务器进行访问或者提供数据操作。
转换EBCDIC码与GBK使用jtopen的类,对应jt400.jar
import com.ibm.as400.access.AS400Text;
EBCDIC码各语言的码表网址:
其中中文变长字节Mixed-byte EBCDIC为1388,双字节Double-byte EBCDIC为4933,对应GBK字符集
EBCDIC码是一种字节码,因此保存形式为字节数组,这点请注意。
以下简单举例EBCDIC与GBK之间互转的方法:
EBCDIC转GBK
假设读取AS/400输入的EBCDIC字节码数组为message
|
|
GBK转EBCDIC码:
|
|
以上备忘,仅供参考!
文章作者 Imhun
上次更新 2022-07-15 (38a6c3e)