【ABAP系列】SAPSAP中关于编码的解释
:matinal
本⽂作者:matinal
原⽂出处:
原⽂链接:
前⾔部分
⼤家可以关注我的,⾥的排版更好,阅读更舒适。
正⽂部分
在很多项⽬⾥,或者⼀些应⽤上,我们经常需要把⼀些⽂件导⼊到SAP系统⾥,最经常我们使⽤的读取数据的⽅法就是使⽤GUI_UPLOAD这个FM.在这个FM中有个CODEPAGE,是⽤来指定代码页的.
如果我们导的是中⽂的话,我们经常使⽤的是8400.当然还有8401,8411等等.
主要介绍⼀下8400/8401.因为⼤家最常⽤的是8400.看8400的介绍上说,是based on GB2312-EUC版本,WINDOWS的代码页就是
CP936.8401使⽤的就是GB18030 2000编码.那么他们的区别在哪⾥呢.
1、 GB2312
GB2312(1980年)⼀共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围⾼字节从B0-F7,低字节从A1-FE,占⽤的码位是72*94=6768。其中有5个空位是D7FA-D7FE。
在windows中的代码页是CP936
2、 GBK
GBK最初是由微软对GB2312的扩展,也就是CP936字码表 (Code Page 936)的扩展(原来的CP936和GB 2312-80⼀模⼀样),最初出现于Windows 95简体中⽂版中,由于Windows产品的流⾏和在⼤陆⼴泛被使⽤,中华⼈民共和国国家有关部门将其作为技术规范。注意GBK 并⾮国家正式标准,只是国家技术监督局标准化司、电⼦⼯业部科技与质量监督司发布的“技术规范指导性⽂件”。虽然 GBK收录了所有Unicode 1.1及GB 13000.1-93之中的汉字,但是编码⽅式与Unicode 1.1及GB 13000.1-93不同。仅仅是GB 2312到GB 13000.1-93之间的过渡⽅案。GBK收录了21886个符号,它分为汉字区和图形符号区。
汉字区包括21003个字符。
GBK作为对GB2312的扩展,在现在的windows系统中仍然使⽤代码页CP936表⽰,但是同样的936的代码页跟⼀开始的936的代码页只⽀持GB2312编码不同,现在的936代码页⽀持GBK的编码,GBK同时也向下兼容GB2312编码。
unicode系列全部汉字
3、 GB18030
2000年的GB18030取代了GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏⽂、蒙⽂、维吾尔⽂等主要的少数民族⽂字。现在的PC平台必须⽀持GB18030,对嵌⼊式产品暂不作要求。所以⼿机、MP3⼀般只⽀持GB2312。
GB18030在windows中的代码页是CP54936。
4、 GB13000
GB13000等同于国际标准的《通⽤多⼋位编码字符集 (UCS)》 ISO10646.1,就是等同于Unicode的标准,代码页等等的都使⽤UTF的⼀套标准。
从ASCII、GB2312、GBK到GB18030,这些编码⽅法是向下兼容的,即同⼀个字符在这些⽅案中总是
有相同的编码,后⾯的标准⽀持更多的字符。在这些编码中,英⽂和中⽂可以统⼀地处理。区分中⽂编码的⽅法是⾼字节的最⾼位不为0。按照程序员的称呼,GB2312、GBK 到GB18030都属于双字节字符集 (DBCS)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。