银行系统中有的核心Core banking采用AS/400系统,而AS/400采用EBCDIC编码,所以渠道整合的时候就会涉及到转码的问题。避免冷僻字的问题, 采用GBK字符集
package com.ebcdic;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.util.LinkedList;
import java.util.Queue;
import java.util.TreeMap;
/**
*
* @author Kevin
* @since jdk1.5
*
*/
public class EbcdicGbkConverter {
final static String GBK_FILE="GBK_CVT.txt";
final static String ebcdicCharsetName="Cp1047";
private static TreeMap <Character,Integer> gbk2Ebcdic=new TreeMap<Character,Integer> ();
private static TreeMap <Integer,Character> ebcdic2Gbk=new TreeMap<Integer,Character> ();
private static char gbk2EbcdicChar[] ;
private static int gbk2EbcdicInt[];
private static char ebcdic2GbkChar[] ;
private static int ebcdic2GbkInt[];
static {
try {
initEbcdicGBKMapping();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* Initial the EBCDIC and GBK mapping
* @throws IOException
*/
private static void initEbcdicGBKMapping() throws IOException{
InputStream input=EbcdicGbkConverter.class.getResource(GBK_FILE).openStream();
BufferedReader reader=new BufferedReader(new InputStreamR

在银行系统的AS/400与GBK字符集整合中,面临EBCDIC转GBK的编码问题。为解决冷僻字问题,使用GBK编码。转换依据GBK_CVT.txt文件,包含国标码与EBCDIC码的对应关系。提供GBK与EBCDIC的对应表文件下载链接。
最低0.47元/天 解锁文章

2536

被折叠的 条评论
为什么被折叠?



