至此,你也许还会问,935和1388之间又有什么差异呢?问得好。
虽然935和1388都是针对简体中文的混合字节CCSID,但是它们在字汇方面,935的双字节代码页837代表着GB2312标准中的双字节字符部分,俗称“GB码”;而1388的双字节代码页4933则代表着GB18030标准中的双字节字符部分,俗称“GBK码”。我们知道,GB2312是汉字编码的基本集,共收录近七千个常用汉字。然而,随着计算机应用的普及,人们越来越多地会遇到需要输入或显示繁体字和某些冷僻汉字的情况。就拿客户的姓名来说,遇上在GB2312标准中找不到的汉字是常有的事。为了包容这样的汉字,使之在显示和传输过程中不出现差错,我们就应该使用1388作为那些用于存放中文字符的物理文件、数据库表及其字段的CCSID。
935和1388都是在iSeries端、基于EBCDIC编码体系的代码页。在PC端,与935和1388分别对应的是1381和1386。它们是基于ASCII编码体系的代码页。同样的,在字汇方面,1381的双字节代码页1380代表着“GB码”;而1386的双字节代码页1385则代表着“GBK码”。
关于GBK码,也就是GB18030的双字节字符部分,下表针对着1386编码和1388编码分别给出了其详细的编码分布:
类别 简称 1386编码 1388编码 码位数 字符数 备注
符号
标准
区 双字节1区 A1A1-A9FE 846 718 符号(GB2312)
双字节5区 A840-A9A0 192 166 符号
小计 1038 883
汉字
区 双字节2区 B0A1-F7FE 48A0-6C9F 6768 6763 汉字(GB2312)
双字节3区 8140-A0FE 8141-A181 6080 6080 汉字
双字节4区 AA40-FEA0 A182-CEA6 8160 8160 汉字
小计 21008 21003
用户
自定
义区 双字节用户1区 AAA1-AFFE 7641-78FD 564
双字节用户2区 F8A1-FEFE 7941-7C9F 658
双字节用户3区 A140-A7A0 7C80-804E 672
小计 1894
总计 23940 21886
很明显,想要使物理文件或数据库表在显示和传输过程中能够正确处理简体中文字符,其文件以及字段的CCSID,往往起着最为关键的作用。除了935和1388以外,现在越来越多的应用,选择使用UCS-2,也就是13488,作为文件及其双字节字段的CCSID。这被证明是明智的选择,它将使在iSeries上的软件国际化更趋便捷。比如,SAP R/3系统在iSeries上的双字节版本,就是采用了UCS-2,其上万张数据库表的CCSID都是13488,其间的简体中文字符皆以UCS-2编码存放。
我们可以利用如下的DDS源文件编译含有UCS-2字段的物理文件:
0 ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8
A* CUSTOMER INFORMATION TABLE
A
A R CUSTOMER TEXT('CUST INFO')
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 影响 系统 理解 CCSID 字节 文件 作业 中文 用户 作为 |
注册
个人空间
