EBCDIC

来自GSXAB的知识库
EBCDIC
术语名称 EBCDIC
英语名称 EBCDIC
别名 扩展BCD交换码, extended BCD interchange code, 扩展二进制编码的十进制交换码, extended binary-coded decimal interchange code

EBCDIC[1] ,即扩展 BCD 交换码,指 BCDIC 系列编码的扩展,后者是历史上与 BCD 码兼容的一系列打孔卡字符编码。

EBCDIC 的扩展在于与 BCDIC 编码相比,成为了 IBM 大型机的默认编码,编码空间从 BCDIC 的 6 位基础上,扩展为 8 位字节。这一编码兼容了原始 BCDIC 中的一些设计,并间接兼容到打孔卡编码。这一标准提出于 1963 年到 1964 年。 EBCDIC 这个名字也指由原始 EBCDIC 衍生的一系列的编码。

字符库特征

除了字母和数字外,也包含符号和控制字符。

码位分配特征

EBCDIC 继承了 BCDIC 中数字(0 除外)和字母分配在相邻的四个带有分区的 1~9 部分的特点。 与大部分早期编码一样把大小写字母安排在对应的位置。其他的位置填充符号和控制字符。

类似 BCDIC 6 位中对于 2 位区域行和 4 位数码行的划分, EBCDIC 在扩展到 8 位时,仍然将其划分为 4 位区域行和 4 位数码行。 但是有区别的是,区域行的排列顺序与 BCDIC 相反。

除了控制字符都分配在控制区域外,字母、数字(0 除外)都分配在 1~9 ,符号则分配在剩下的 0 和 A~F 的范围。

码位表

EBCDIC 包含多套不兼容的字符集,这里按维基百科只记录相关的不变字符。其中部分字符(浅青色背景)在不同字符集中也可能出现在不同位置,而深灰色单元格表示这一格保留或在不同字符集中填入不同的本地字符。

EBCDIC 不变部分 [2][3][4]
- _0
??? 0000
_1
??? 0001
_2
??? 0010
_3
??? 0011
_4
??? 0100
_5
??? 0101
_6
??? 0110
_7
??? 0111
_8
??? 1000
_9
??? 1001
_A
??? 1010
_B
??? 1011
_C
??? 1100
_D
??? 1101
_E
??? 1110
_F
??? 1111
0_
0000 ????
NUL
空字符
SOH
标题开始[5]
STX
正文开始[6]
ETX
正文结束[6]
SEL
选择
HT
水平制表[7]
RNL
强制换行[8]
DEL
擦除字符
GE
图形转义[9]
SPS
上标[10]
RPT
重复[11]
VT
垂直制表[12]
FF
NP
换页[13]
CR
回车[14]
SO
LS1
移出[15]
SI
LS0
移入[15]
1_
0001 ????
DLE
数据链路转义[16]
DC1
设备控制 1
XON
传输开始
DC2
设备控制 2
DC3
设备控制 3
XOFF
传输中断
RES/ENP
恢复/继续展示[17]
NL
新行[18]
BS
退格[19]
POC
程序操作员交流[20]
CAN
取消
EM
介质结束[21]
UBS
单位空格[22]
CU1
客户使用 1
IFS
文件分隔符[23]
IGS
组分隔符[23]
IRS
记录分隔符[23]
IUS
单元分隔符[23]/
ITB
立即传输块[24]
2_
0010 ????
DS
数字选择
SOS
重要数据开始
FS/FDS
字段分隔符[23]
WUS
词下划线[25]
BYP/INP
旁路/阻止展示[26]
LF
换行[27]
ETB
传输块结束
ESC
换码
转义字符
溢出
SA
设置属性[28]
SFE
开始字段扩展[29]
SM/SW
设置属性[30]
CU2
客户使用 2 /
CSP
控制序列前缀[31]
MFA
修改字段属性[32]
ENQ
查询
ACK
确认
收到应答
BEL
响铃[33]
3_
0011 ????
SYN
同步空闲
IR
索引返回[34]
PP
展示位置[35]
TRN
透明[36]
NBS
数字退格[37]
EOT
传输结束
SBS
下标[38]
IT
缩进指标[39]
RNL
强制换页[40]
CU3
客户使用 3
DC4
设备控制 4
NAK
拒绝
否定应答
SUB
代替
4_
0100 ????
SP
空格
¢ . < ( + |
5_
0101 ????
& ! $ * ) ; ¬
6_
0110 ????
- / ¦ , % _ > ?
7_
0111 ????
` : # @ ' = "
8_
1000 ????
a b c d e f g h i ±
9_
1001 ????
j k l m n o p q r
A_
1010 ????
~ s t u v w x y z
B_
1011 ????
^ [ ]
C_
1100 ????
{ A B C D E F G H I
D_
1101 ????
} J K L M N O P Q R
E_
1110 ????
\ S T U V W X Y Z
F_
1111 ????
0 1 2 3 4 5 6 7 8 9 EO
全一


常见字符集字符编码
原始编码 电报码( Morse 电码 BCD 码IBM 卡编码 -
早期二进制码位分配的编码 - BCDICEBCDIC ASCIIISO 646-US 、 ISO 646-IRV)
地区字符编码 - - ISO 8859 : ISO 8859-1 、 ISO 8859-2 、……
- - EUC 类编码,含第一个国标字符集 GB 2312
其编码 EUC-CNIBM 代码页 936)也称 GB 2312
多地区字符编码通过切换串兼容 - - 通用框架: ISO 4873ISO 2022 ,含 ISO-2022-CN
ISO-2022-CN 的简化: HZ 编码
无需切换串的自同步编码 - UTF-EDCBIC 字符集 Unicode / ISO 10646 ,有常见编码 UTF-8UTF-16UTF-32 及废弃编码 UTF-1UTF-7
地区字符编码扩充 - - 国标系列后续:GBK微软代码页 936)、 GB 18030微软代码页 54936
  1. EBCDIC [ˈɛb.sɪ.dɪk] 。全称为 extended binary-coded decimal interchange code ,译为扩展二进制编码的十进制交换码,全称只用于解释这个词语,通常使用中只使用缩写。
  2. https://en.wikipedia.org/wiki/EBCDIC#Code%20page%20layout
  3. https://blog.csdn.net/weixin_40948750/article/details/121228437
  4. https://baike.baidu.com/item/ASCII/309296
  5. 消息的开始。
  6. 6.0 6.1 正文的开始和结束。
  7. 打印头移动到下一个水平制表位。控制输出设备到下一个预定义的表格位置,具体位置是灵活的,通常为左侧起每 4 个空格的位置。
  8. 重置缩进换行。
  9. 更改下一字符的解释,如使用另一套编码展示。
  10. 开始上标,或结束下标。
  11. 切换操作模式,重复打印缓冲区。
  12. 打印头移动到下一个垂直制表位。
  13. 打字机打印头移动到下一页,或者换纸。
  14. 打印头移动到行首,但是不移动到下一行(LF)。现代在部分系统中代替 CRLF 。
  15. 15.0 15.1 移出、移入打字机的彩色纸带、备用字符集等。
  16. 标记需要对接下来的数据流做某种转义。
  17. 在 BYP/INP 后恢复为继续输出。
  18. 相当于 Unicode NEL ,或者更常见的 CR+LF 。
  19. 打印头向左回退一个位置。打字机上用于将同一个字符重复打印以强调,或将附加符号打印到字母同一个位置上。在 CRT 时代无效,现代则演变变为了回退位置并删除这个位置字符的退格键。
  20. 根据后续两个字节执行指定函数,如操作灯和功能键等。
  21. 指存储介质逻辑上到达末端,已被写满。
  22. 字符分数级的退格。
  23. 23.0 23.1 23.2 23.3 23.4 最初用于打孔纸带、磁带等顺序存储介质中分隔数据控制字符。分别对应于分割文件、数据表、数据记录、数据单元(单元格,今称字段)。同 ASCII FS 、 GS 、 RS 、 US 等,注意字段分隔在 EBCDIC 还有个也缩写成 FS 的字符。
  24. 结束立即块的传输控制码。
  25. 给前一个单词加下划线。
  26. 停止输出直到 RES/ENP 。
  27. 打印头移动到下一行。打字机时代只将打印头向下一行,而不移动到行首(CR)。现代在部分系统中代替 CRLF 。
  28. 标记定长设备特定控制序列,后背 CSP 代替。
  29. 标记变长设备特定控制序列,后被 CSP 代替。
  30. 设置操作模式的设备特定控制序列。
  31. 标记变长设备特定控制序列,后接一个字节指定控制函数分类,一个字节序列长度,分类下具体函数,以及参数。
  32. 标记变长设备特定控制序列,后被 CSP 代替。
  33. 使蜂鸣器发出声音。一般是打字机外设的蜂鸣器,现在主板不一定安装此类外设。
  34. 移动到下一行行首,或者结束单元格。
  35. 根据后续两字节设置当前位置。
  36. 根据后续一字节确定透明数据长度。
  37. 退格,但是宽度为一个数字宽度。
  38. 开始下标,或结束上标。
  39. 开启对每行缩进,直到 RNL/RFF 。
  40. 重置缩进换页。