例如我的部分函数原型:
USGC ASCIItoEBCDIC(USGC c);
USGC EBCDICtoASCII(USGC c);
int isprintEBCDIC(USGC c);
USGS HZ_A2E(USGS GB_Code);
USGS HZ_E2A(USGS EBCDIC_Code);
int Str_A2E(USGC *src, int src_len, USGC *dest);
int Str_E2A(USGC *src, int src_len, USGC *dest);
int CvtFldA2E(USGC *Ebuf, int lenE, char fld_type, int fld_len,
int fld_dec, USGC *Abuf, int lenA, LDU *val_ptr);
int CvtFldE2A(USGC *Ebuf, int lenE, char fld_type, int fld_len,
int fld_dec, USGC *Abuf, int lenA, LDU *val_ptr);
int CvtFldP2A(USGC *Ebuf, int lenE, int fld_len, int fld_dec,
USGC *Abuf, int lenA);
int CvtFldS2A(USGC *Ebuf, int lenE, int fld_len, int fld_dec,
USGC *Abuf, int lenA);
int CvtFld_long2P(USGC *Ebuf, int lenE, int fld_len, long n);
int CvtFld_long2S(USGC *Ebuf, int lenE, int fld_len, long n);
int CvtFld_double2P(USGC *Ebuf, int lenE, int fld_len, int fld_dec, double n);
int CvtFld_double2S(USGC *Ebuf, int lenE, int fld_len, int fld_dec, double n);
int BigDecimalStrA2Ebuf(USGC *Ebuf, int lenE, int fld_len, int fld_dec,
USGC *Abuf, int lenA, char fld_type);
int BigDecimalEbuf2Astr(USGC *Ebuf, int lenE, int fld_len, int fld_dec,
USGC *Abuf, int lenA, char fld_type, int mode);
int BufFldA2E(USGC *FldPtrE, int FldLenE, char FldType,
int FldLen, int FldDec, USGC *FldPtrA, int FldLenA);
int BufFldE2A(USGC *FldPtrE, int FldLenE, char FldType,
int FldLen, int FldDec, USGC *FldPtrA, int FldLenA);
int BufFldA2Estr(USGC *Ebuf, int LenE, char FldType,
int FldLen, int FldDec, USGC *FldPtrA, int FldLenA);
int BufFldE2Astr(USGC *FldPtrE, int FldLenE, char FldType,
int FldLen, int FldDec, USGC *Abuf, int LenA);作者: yaliu_hello 时间: 2008-11-11 20:51 标题: 回复 #2 digitalchina 的帖子 jt400就是jt400.jar IBM 的开源工具包!作者: yaliu_hello 时间: 2008-11-12 23:25 标题: 回复 #4 ux400 的帖子 非常感您的回复: 有人帮助总是开心的
跟据你的提醒我查看了我的代码发已解决以下问题
1.对制表符做了特殊处理
2.对换行做了特殊处理
现在转码中文已基本没有问题了!但还是有一个小问题
1.EBCDIC 中的 十六进制 00 0D 00 是不是有特殊的意义啊??
2.现在对以下十六进制内容转码还是不正确: 不知前辈是否见过
00 0D 00 00 00 00 0C 00 00 0F 0D 00 0D 34 C4 01 这是EBCDIC十六进制码
本应转过来就只是一个
0C 0D 0A
看上去的较果就是 在DOC格式下就是一条横线作者: ux400 时间: 2008-11-13 12:58