📑 Table of Contents

EBCDIC(英語:Extended Binary Coded Decimal Interchange Code,擴增二进式十进交換碼),为IBM於1963年-1964年间推出的字元编码表,根据早期打孔机式的BCDIC英语BCD (character encoding)即一种二进化十进数(BCD,Binary Coded Decimal)信息交换编码改进而成。是IBM迷尔級以上電腦的標準碼。

它的缺点是:英文字母不是连续地排列,中间出现多次断续,为撰写程式的人带来了一些困难。

字符对应

编辑

EBCDIC编码表,最初定义了(不计空白字符在内的)88个可打印字符,同时还定义了减去26个小写字母后的62个可打印字符的子集[1]

EBCDIC
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL SOH STX ETX SEL  HT  RNL DEL  GE  SPS RPT  VT   FF   CR   SO   SI  
1x DLE DC1 DC2 DC3 RES/
ENP
 NL    BS  POC CAN  EM  UBS CU1  IFS  IGS  IRS IUS/
ITB
2x  DS  SOS  FS  WUS BYP/
INP
 LF  ETB ESC  SA  SFE  SM/
SW
CSP MFA ENQ ACK BEL
3x SYN   IR   PP  TRN NBS EOT SBS   IT  RFF CU3 DC4 NAK SUB
4x  SP  ¢ . < ( + |
5x & ! $ * ) ; ¬
6x - / , % _ > ?
7x : # @ ' = "
8x a b c d e f g h i
9x j k l m n o p q r
Ax s t u v w x y z
Bx
Cx A B C D E F G H I
Dx J K L M N O P Q R
Ex S T U V W X Y Z
Fx 0 1 2 3 4 5 6 7 8 9  EO 
打孔卡上顺序列出的1964年EBCDIC的62个字符
    _______________________________________________________________
   / &-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ/:#@'="¢.<(+|!$*);¬,%_>?
12|  ▊           ▊▊▊▊▊▊▊▊▊                        ▊▊▊▊▊▊
11|   ▊                   ▊▊▊▊▊▊▊▊▊                     ▊▊▊▊▊▊
 0|    ▊                           ▊▊▊▊▊▊▊▊▊                  ▊▊▊▊▊
 1|     ▊        ▊        ▊                ▊
 2|      ▊        ▊        ▊       ▊        ▊     ▊     ▊
 3|       ▊        ▊        ▊       ▊        ▊     ▊     ▊    ▊
 4|        ▊        ▊        ▊       ▊        ▊     ▊     ▊    ▊
 5|         ▊        ▊        ▊       ▊        ▊     ▊     ▊    ▊
 6|          ▊        ▊        ▊       ▊        ▊     ▊     ▊    ▊
 7|           ▊        ▊        ▊       ▊        ▊     ▊     ▊    ▊
 8|            ▊        ▊        ▊       ▊  ▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊
 9|             ▊        ▊        ▊       ▊
  |________________________________________________________________
    _______________________________________________________________
   / 123456789:#@'="&ABCDEFGHI¢.<(+|-JKLMNOPQR!$*);¬0/STUVWXYZ,%_>?
12|                 ▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊
11|                                 ▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊
 0|                                                 ▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊
 1|  ▊               ▊               ▊               ▊
 2|   ▊       ▊       ▊       ▊       ▊       ▊       ▊
 3|    ▊       ▊       ▊       ▊       ▊       ▊       ▊      ▊
 4|     ▊       ▊       ▊       ▊       ▊       ▊       ▊      ▊
 5|      ▊       ▊       ▊       ▊       ▊       ▊       ▊      ▊
 6|       ▊       ▊       ▊       ▊       ▊       ▊       ▊      ▊
 7|        ▊       ▊       ▊       ▊       ▊       ▊       ▊      ▊
 8|         ▊ ▊▊▊▊▊▊        ▊ ▊▊▊▊▊▊        ▊ ▊▊▊▊▊▊        ▊ ▊▊▊▊▊
 9|          ▊               ▊               ▊               ▊
  |________________________________________________________________

在处理ASCII可打印字符之时,将其[占位¢,其]占位!,其!占位(表示逻辑或的)|,而其^占位(表示逻辑非的)¬,并补充上所缺少的属于ASCII的6个标点符号,成为(不计空白字符在内的)94个可打印字符的编码表:

EBCDIC
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL SOH STX ETX SEL  HT  RNL DEL  GE  SPS RPT  VT   FF   CR   SO   SI  
1x DLE DC1 DC2 DC3 RES/
ENP
 NL    BS  POC CAN  EM  UBS CU1  IFS  IGS  IRS IUS/
ITB
2x  DS  SOS  FS  WUS BYP/
INP
 LF  ETB ESC  SA  SFE  SM/
SW
CSP MFA ENQ ACK BEL
3x SYN   IR   PP  TRN NBS EOT SBS   IT  RFF CU3 DC4 NAK SUB
4x  SP  [ . < ( + !
5x & ] $ * ) ; ^
6x - / ¦ , % _ > ?
7x ` : # @ ' = "
8x a b c d e f g h i
9x j k l m n o p q r
Ax ~ s t u v w x y z
Bx
Cx { A B C D E F G H I
Dx } J K L M N O P Q R
Ex \ S T U V W X Y Z
Fx 0 1 2 3 4 5 6 7 8 9  EO 

在后来代码页版本的EBCDIC中,定义了“不变子集”58个字符,即在62个可打印字符子集基础上再去掉4个被占用了字符,并且计空白字符而不计$在内,如下图灰色底所示。然后于各版本的编码表中,加入了其他字符,以符合各地使用者所需。

以下是其中两个版本的EBCDIC编码表:CP037(英语)及CP500(多语言#5)。CP037为ASCII的[]^重新指定了位置不再占用EBCDIC的¢!¬,将其!认同为原来EBCDIC的!。CP500为被占用的EBCDIC的¢|¬重新指定了位置,将EBCDIC的!认同为占用了其位置的!

EBCDIC CP037
  x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
0x NUL SOH STX ETX ST HT SSA DEL EPA RI SS2 VT FF CR SO SI
1x DLE DC1 DC2 DC3 OSC NEL BS ESA CAN EM PU2 SS3 FS GS RS US
2x PAD HOP BPH NBH IND LF ETB ESC HTS HTJ VTS PLD PLU ENQ ACK BEL
3x DCS PU1 SYN STS CCH MW SPA EOT SOS SGCI SCI CSI DC4 NAK PM SUB
4x SP NBSP â ä à á ã å ç ñ ¢ . < ( + |
5x & é ê ë è í î ï ì ß ! $ * ) ; ¬
6x - / Â Ä À Á Ã Å Ç Ñ ¦ , % _ > ?
7x ø É Ê Ë È Í Î Ï Ì ` : # @ ' = "
8x Ø a b c d e f g h i « » ð ý þ ±
9x ° j k l m n o p q r ª º æ ¸ Æ ¤
Ax µ ~ s t u v w x y z ¡ ¿ Ð Ý Þ ®
Bx ^ £ ¥ · © § ¼ ½ ¾ [ ] ¯ ¨ ´ ×
Cx { A B C D E F G H I SHY ô ö ò ó õ
Dx } J K L M N O P Q R ¹ û ü ù ú ÿ
Ex \ ÷ S T U V W X Y Z ² Ô Ö Ò Ó Õ
Fx 0 1 2 3 4 5 6 7 8 9 ³ Û Ü Ù Ú APC
EBCDIC CP500
  x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
0x NUL SOH STX ETX ST HT SSA DEL EPA RI SS2 VT FF CR SO SI
1x DLE DC1 DC2 DC3 OSC NEL BS ESA CAN EM PU2 SS3 FS GS RS US
2x PAD HOP BPH NBH IND LF ETB ESC HTS HTJ VTS PLD PLU ENQ ACK BEL
3x DCS PU1 SYN STS CCH MW SPA EOT SOS SGCI SCI CSI DC4 NAK PM SUB
4x SP NBSP â ä à á ã å ç ñ [ . < ( + !
5x & é ê ë è í î ï ì ß ] $ * ) ; ^
6x - / Â Ä À Á Ã Å Ç Ñ ¦ , % _ > ?
7x ø É Ê Ë È Í Î Ï Ì ` : # @ ' = "
8x Ø a b c d e f g h i « » ð ý þ ±
9x ° j k l m n o p q r ª º æ ¸ Æ ¤
Ax µ ~ s t u v w x y z ¡ ¿ Ð Ý Þ ®
Bx ¢ £ ¥ · © § ¼ ½ ¾ ¬ | ¯ ¨ ´ ×
Cx { A B C D E F G H I SHY ô ö ò ó õ
Dx } J K L M N O P Q R ¹ û ü ù ú ÿ
Ex \ ÷ S T U V W X Y Z ² Ô Ö Ò Ó Õ
Fx 0 1 2 3 4 5 6 7 8 9 ³ Û Ü Ù Ú APC

於编码表中,0x00 - 0x3F及0xFF为控制字元,0x40为空格,0x41为不换行空格(no-break space),0xCA为选择性连字号(soft hyphen)。

参见

编辑

外部链接

编辑
  1. ^ Mackenzie, Charles E. Coded Character Sets, History and Development (PDF). The Systems Programming Series 1. Addison-Wesley Publishing Company, Inc. 1980 [2022-04-06]. ISBN 0-201-14460-3. LCCN 77-90165. (原始内容存档 (PDF)于2016-05-26). 

📚 Artikel Terkait di Wikipedia

字符编码

字符编码(英語:Character encoding)、字碼、字集碼是把字符集中的字符为指定集合中某一对象(例如:位元模式、自然数序列、八位元或者电脉冲),以便文本在计算机中存储和通过通信网络的传递。 純就字面解釋,這些術語是有不同的概念,但在許多的中文語境,這些術語會混用,有相同的概念。字符集,是

POSTNET

Numeric Encoding Technique,郵政數字編碼)是美國郵政署使用的條碼 。以半高和全高線條對郵遞區號、郵遞區號+4碼或投遞點編號(英语:delivery point)編碼。 每個數字都以五條線表示,其中兩條為長線(即五取二碼)。長線為Binary code(英语:Binary

截斷二進制編碼

截斷二進制編碼(英語:Truncated binary encoding)是一種適用於擁有均勻分布特性的符號的熵編碼方式。當符號個數不為 2 {\displaystyle 2} 的整數次方時,比起使用普通固定長度的二元編碼,採用截斷二進制編碼能縮短平均碼長。 令 n {\displaystyle n}

ASCII (消歧义)

的第二个稳定版本代号 EASCII ASCII艺术 ASCII 游戏, 文字式游戏 ASCII armor(英语:Binary-to-text_encoding#ASCII_armor), 重定向至Binary-to-text encoding Arthur Askey(英语:Arthur Askey)

多用途互聯網郵件擴展

内容传输编码(Content-Transfer-Encoding),这个區域使指定ASCII以外的文字編碼方式成为可能。形式如下: Content-Transfer-Encoding: [mechanism] 其中,mechanism的值可以指定为“7bit”,“8bit”,“binary”,“quoted-printable”,“base64”。

代码

以有效传播、辨识的范围,并且发言只能传达给现有的听众。将言谈转化为视觉符号的寫作扩大了跨越时间、空间的通信表达。代码有时亦称代号等。 而编码(encoding)能将源头(英语:Communication source)的信息转化为便于通信或存储的符号。解码(Decoding)则是将其逆向还原的过程,将代码符号转化回收件人可以理解的形式。

传号反转码

是半比特时间的一;而1比特编码为一整个比特时间的恒定电平。1比特的电平在每次编码1的时候都交替。 这隐约让人联想到米勒编码(英语:Delay encoding),但与之十分不同,该编码也使用半位和满位脉冲,但还使用了一半1/一半0的组合,并把它们排列得使得再次转换前信号在特定水平总是持续至少一整个比特时间。

極化碼

Shannon limit for a wide range of channels, with efficient encoding and decoding.  El-Khamy, M. Binary Polar Codes are Optimized Codes for Bitwise Multistage