CN106484661A - 一种ebcdic编码扩展的方法 - Google Patents
一种ebcdic编码扩展的方法 Download PDFInfo
- Publication number
- CN106484661A CN106484661A CN201510524421.9A CN201510524421A CN106484661A CN 106484661 A CN106484661 A CN 106484661A CN 201510524421 A CN201510524421 A CN 201510524421A CN 106484661 A CN106484661 A CN 106484661A
- Authority
- CN
- China
- Prior art keywords
- coding
- ebcdic
- code
- plane
- extended
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明提供一种EBCDIC编码扩展的方法,使得EBCDIC两字节编码(编码空间最多为65536)可以扩展到100万个编码空间。EBCDIC编码常用于大型服务器,这些服务器多应用于保险、航空、运输、银行等大型企业。目前,国际标准汉字已有近8万字,个人电脑上也有了7万字,而这些大型企业应用系统中常出现的地名、人名中多含有生僻字,现在的公司名等名称中也越来越多的出现了生僻字,大字符集汉字汉字处理能力的需求与日俱增,但是目前的EBCDIC编码因为码位空间不足,无法处理这些生僻字。本发明的应用在于在不改变原服务器处理模式的前提下,通过扩展EBCDIC编码实现在大型服务器上处理100万汉字的能力。本发明可以应用到其他两字节编码系统编码扩展中。
Description
技术领域
本发明属于IT领域,它提供一种EBCDIC编码扩展的方法,使得EBCDIC两字节编码(编码空间最多为65536)可以扩展到100万个编码空间。EBCDIC编码常用于大型服务器,这些服务器多应用于保险、航空、运输、银行等大型企业。目前,国际标准汉字已有近8万字,个人电脑上也有了7万字,而这些大型企业应用系统中常出现的地名、人名中多含有生僻字,现在的公司名等名称中也越来越多的出现了生僻字,大字符集汉字汉字处理能力的需求与日俱增,而目前的EBCDIC编码因为码位空间不足,无法处理这些生僻字。本发明的应用在于在不改变原服务器处理模式的前提下,通过扩展EBCDIC编码实现在大型服务器上处理100万汉字的能力。本发明可以应用到其他两字节编码系统编码扩展中。
背景技术
目前,国际标准汉字已有近8万字,个人电脑上也有了7万字,随着汉文化在全世界范围内影响力的不断增加,了解汉字的人越来越多,计算机汉字处理能力也越来越强。
中国是一个古老文明的国家,地名、人名中多含有生僻字,现在的公司名等名称中也越来越多的出现了生僻字,大字符集汉字汉字处理能力的需求与日俱增。
目前保险、航空、运输、银行等大型企业系统几乎都只能处理GBK标准的汉字,它只包含了20902个汉字,特别是大机(服务器)操作系统受限于传统的设计,汉字处理能力较差,虽然有些业务端的电脑能处理更多的汉字,但也无济于事。
发明内容
本发明为一种EBCDIC编码扩展的方法,包括平面扩展和标准编码与扩展编码的转换。
1.概述
EBCDIC CCSID 01388代码页(以下简称EBCDIC1388)的Area 1包括GBK/1和部分GBK/5的字符;Area 2为全部GBK/2的字符;Area 3为全部GBK/3的字符;Area 4为GBK/4a中全部ISO 10646-1的CJK字符;Area 4b为其他GBK/4的字符;Area 5为部分GBK/5字符;Area 6为用户自定义字符。
其中,Area 6用户自定义字符区域还有没用到的编码空间。本方案是在不对操作系统做任何改动的前提下,对EBCDIC1388进行扩展,扩展后的编码称为EBCDIC1388扩展码,以此实现100万汉字对应到EBCDIC1388。
2.设计思想
(1)编码设计
EBCDIC1388扩展码是一种基于EBCDIC1388编码方案的、可变长度的字符编码方式,在兼容EBCDIC CCSID=01388的基础上,可以用来表示Unicode标准中的任何字元。
该编码方案不改变EBCDIC1388原来的ASCII字符及GBK字符的编码方式,并在此基础上从用户自定义区或保留区选取1024个字符作为编码码元,对超出EBCDIC1388原覆盖范围的Unicode字符进行4字节编码。使得原来处理EBCDIC字元的软件无须或只须做少部份修改,即可继续使用。
在EBCDIC1388扩展码中,从U+0000-U-10FFFF范围的字符可以使用1至4个八位字节序列编码。其中ASCII字符及GBK字符使用EBCDIC SSID=01388的原有方式编码。其它字符使用“1个编码平面”+“1个编码空间”方式编码。“编码平面”和“编码空间”均属于EBCDIC1388的用户自定义区域字符。
由于EBCDIC1388用户自定义区域总共包含1894个合法字符,因此可以保留1894-1024=870个码位供软件系统后续的扩展使用。作为优选方案,本专利选用0x7B41-0x80FD之间的自定义区码位作为扩展码的编码码元,并进行举例说明本编码方案的编码/解码方式。
下表总结了不同类型的编码定义。
(2)具体步骤
①确定EBCDIC编码中1024个没有用到的编码;
②将该1024个没有用到的编码用作两部分使用(复用),每部分各为1024个,两部分分别称为编码平面和编码空间,编码平面的第1个称为编码平面1,第2个称为编码平面2,……;第1024个称为编码平面1024,编码空间的第1个称为编码空间1,第2个称为编码空间2,……;第1024个称为编码空间1024。
③采用将GBK以外的汉字用两个字符(一个字符串)表示,第一个字符为编码平面中的一个;第二个字符为编码空间中的一个,该字符串代表的是一个GBK以外的汉字。该编码称为EBCDIC扩展编码。
④通过上述方法,可以得到1024*1024=100万个可用的编码,它覆盖了目前国际标准定义的最大的100万个可编码的空间。
⑤将GBK以外的字符按扩A、扩B、扩C、扩D、扩E、扩F、人口信息用字、……的UNICODE内码值作为序号,外字与EBCDIC扩展编码的对应关系如下:
●序号为0的外字对应的EBCDIC扩展编码为编码平面为1,编码空间为1的编码;
●序号为1的外字对应的EBCDIC扩展编码为编码平面为1,编码空间为2的编码;
●序号为2的外字对应的EBCDIC扩展编码为编码平面为1,编码空间为3的编码;
●……;
●序号为1024的外字对应的EBCDIC扩展编码为编码平面为1,编码空间为1024的编码;
●序号为1025的外字对应的EBCDIC扩展编码为编码平面为2,编码空间为1的编码;
●……。
以此类推。
3.编码方式
对于一个UNICODE字符,下文使用U代替。
(1)如果U属于EBCDIC1388范围内的编码,按EBCDIC CSSID=01388原有规则将U转换为UBCDIC编码;
(2)否则,计算“编码平面”(下文使用H代替)及“编码空间”(下文使用L代替),计算方式如下:
H=0x7B41+U/1024
L=0x7B41+(U%1024)
(3)按位组合H、L为最终编码。
如汉字的U=0x2662F,则其EBCDIC1388扩展码的计算方式为:
H=0x7B41+0x2662f/1024=0x7BDA
L=0x7B41+0x2662f%1024=0x7D70
的EBCDIC1388扩展码为0E7BDA0F 0E7D700F
4.解码方式
对于一个字节序列,下文使用P代替,读取P位置的值使用B代替。
读取序列P,如果B不等于0E,则该字符为单字节字符。按EBCDIC CSSID=01388原有规则转换为Unicode字符;
如果B等于0E,连续读取两个字节的数值,读取值保存为W。按EBCDIC双字节编码规则,继续读取一个字符0F;
如果W大于0x7B41,或者W大于0x7F41。按EBCDIC CSSID=01388原有规则转换为Unicode字符;
否则,将W保存为编码平面H,并按照步骤2中的方式继续读取一个双字节字符保存为编码空间L。按照如下公式计算Unicode编码:
U=(H-0x7B41)*1024+(L-0x7B41)
附图说明
图1:EBCDIC编码扩展。
图2:EBCDIC1388扩展码编码。
图3:EBCDIC1388扩展码解码。
Claims (3)
1.一种EBCDIC编码扩展,其特征在于包括平面扩展和标准编码与扩展编码的转换。
2.根据权利要求1中的平面扩展,其特征在于包括:
找出EBCDIC CCSID 01388平面中未使用的编码:EBCDIC CCSID 01388平面中有未使用的编码,如用户自定义区或保留区,找出其中1024个未使用的编码。
将该1024个编码作为两部分复用,第一部分称为编码平面;第二部分称为编码空间。
3.标准编码与扩展编码的转换,其特征在于包括:
生僻字用字符串表示:生僻字用两个字符表示,第一部分为编码平面之一;第二部分为编码空间之一。
生僻字与扩展编码的转换函数:1024个未用的编码空间可以扩展出1024*1024=100万个扩展编码。将外字的UNICODE内码值作为序号,外字与EBCDIC扩展编码的对应关系:序号为1的外字对应的EBCDIC扩展编码为编码平面为1,编码空间为1的编码;序号为2的外字对应的EBCDIC扩展编码为编码平面为1,编码空间为2的编码;序号为3的外字对应的EBCDIC扩展编码为编码平面为1,编码空间为3的编码;……;序号为1024的外字对应的EBCDIC扩展编码为编码平面为1,编码空间为1024的编码;序号为1025的外字对应的EBCDIC扩展编码为编码平面为2,编码空间为1的编码;……。以此类推,反之也然。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510524421.9A CN106484661A (zh) | 2015-08-25 | 2015-08-25 | 一种ebcdic编码扩展的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510524421.9A CN106484661A (zh) | 2015-08-25 | 2015-08-25 | 一种ebcdic编码扩展的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106484661A true CN106484661A (zh) | 2017-03-08 |
Family
ID=58234557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510524421.9A Pending CN106484661A (zh) | 2015-08-25 | 2015-08-25 | 一种ebcdic编码扩展的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484661A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444680A (zh) * | 2020-04-25 | 2020-07-24 | 中信银行股份有限公司 | 生僻字的编码扩展方法、装置、存储介质及电子设备 |
CN113282298A (zh) * | 2021-06-11 | 2021-08-20 | 中国农业银行股份有限公司 | 汉字编码转换方法、装置、设备、介质及产品 |
CN113296614A (zh) * | 2021-06-18 | 2021-08-24 | 中国农业银行股份有限公司 | 生僻汉字的编码方法、装置、电子设备及存储介质 |
-
2015
- 2015-08-25 CN CN201510524421.9A patent/CN106484661A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444680A (zh) * | 2020-04-25 | 2020-07-24 | 中信银行股份有限公司 | 生僻字的编码扩展方法、装置、存储介质及电子设备 |
CN111444680B (zh) * | 2020-04-25 | 2023-05-16 | 中信银行股份有限公司 | 生僻字的编码扩展方法、装置、存储介质及电子设备 |
CN113282298A (zh) * | 2021-06-11 | 2021-08-20 | 中国农业银行股份有限公司 | 汉字编码转换方法、装置、设备、介质及产品 |
CN113282298B (zh) * | 2021-06-11 | 2024-06-07 | 中国农业银行股份有限公司 | 汉字编码转换方法、装置、设备、介质及产品 |
CN113296614A (zh) * | 2021-06-18 | 2021-08-24 | 中国农业银行股份有限公司 | 生僻汉字的编码方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102508824B (zh) | 一种微博信息的压缩编码和解码的方法及装置 | |
CN105450232A (zh) | 编码、解码方法以及编码装置和解码装置 | |
CN101655836B (zh) | 转换utf-8编码、gb2312编码的嵌入式终端及其utf-8、gb2312编码转换方法 | |
CN101222476A (zh) | 一种可扩展标记语言文件编辑器、文件传输方法及系统 | |
CN106484661A (zh) | 一种ebcdic编码扩展的方法 | |
EP2482231B1 (en) | Method for encoding and decoding data on a matrix code symbol | |
CN104504342B (zh) | 基于Unicode编码利用不可见字符隐藏信息的方法 | |
CN104467868A (zh) | 中文文本压缩方法 | |
CN101493901B (zh) | 一种二维码数据压缩、解压缩方法及终端 | |
JP5551660B2 (ja) | テキストをマトリクスコードシンボルに符号化するコンピュータ実行方法、マトリクスコードシンボルを復号化するコンピュータ実行方法、テキストをマトリクスコードシンボルに符号化するためのエンコーダ、およびマトリクスコードシンボルを復号化するためのデコーダ | |
CN101000602A (zh) | 字符转换方法与系统 | |
CN109871520B (zh) | 一种适用于http内容内嵌的二进制数据编解码方法 | |
CN103731154B (zh) | 一种基于语义分析的数据压缩算法 | |
US7676742B2 (en) | System and method for processing of markup language information | |
Abas et al. | Increasing data storage of coloured QR code using compress, multiplexing and multilayered technique | |
CN103605730A (zh) | 一种基于不定长标识码的xml的压缩方法和装置 | |
US9235610B2 (en) | Short string compression | |
CN105653506A (zh) | 一种基于字符编码转换的gpu内文本处理的方法及装置 | |
CN103092922A (zh) | 一种针对含特殊字符的url编码后的自动解码方法 | |
Liu et al. | Base62x: An alternative approach to Base64 for non-alphanumeric characters | |
CN100489847C (zh) | 网络查询四字节字符的方法及系统 | |
Botta et al. | Base41: A proposal for printable encoding of bit strings | |
CN102801430B (zh) | Url中文参数压缩算法 | |
WO2001093180A8 (fr) | Procede de saisie de codes operationnels par numerisation des informations concernant les differents alphabets ou symboles graphiques et systeme connexe de traitement desdites informations | |
CN105183750B (zh) | 紧凑式xml解析系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170308 |
|
WD01 | Invention patent application deemed withdrawn after publication |