跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
GSXAB的知识库
搜索
搜索
外观
登录
个人工具
登录
Advertising:
查看“︁BCDIC”︁的源代码
页面
讨论
简体中文
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
刷新
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
←
BCDIC
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[分类:字符编码实例]] [[分类:字符集实例]] {{#seo: |keywords=BCDIC |description=介绍了 BCDIC 系列字符集的通性及特征。 |modified_time={{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} |published_time=2025-08-02 }} {{InfoBox |name=BCDIC |eng_name=BCDIC |aliases=BCD交换码,BCD interchange code,二进制编码的十进制交换码,binary-coded decimal interchange code,alphanumeric BCD }} '''BCDIC''' ,即 BCD 交换码,指历史上与 [[BCD 码]]兼容的一系列字符编码,没有明确标准。 这一编码诞生于 80 列打孔卡纸时代,是 IBM 在早期计算机系统中使用的。实际时间覆盖 1950 年代到 1960 年代初的计算机。 BCDIC 系列编码没有同一规范标准,基本只共享核心设计思想。 == 字符库特征 == 作为早期计算机使用的字符库,甚至诞生于电子计算机之前,字符库中只使用了数字、一套大写拉丁字母以及部分必要字符,实际编码的字符极少。 == 码位分配特征 == 由于 80 列打孔卡为 80 列× 12 行,在 BCDIC 的二进制编码之前还有过 [[IBM 80 列打孔卡编码]],其中 12 行分别被标记为 12 (或 Y)、 11 、 0 、 1~9 ,如果一列只有一个 0~9 的孔,则代表对应数字,否则 1~9 中有一个孔, 12、11、0 中有一个孔,就会映射到 26 个大写字母和斜杠(打孔为 0 + 1 ,夹在 R 和 S 之间),共计 27 个码位。 为兼容以上卡纸编码, BCDIC 系列编码使用 6 个[[二进制位]]编码,并分为两部分:区域行(zone row)占高 2 位,对应 12 、 11 、 0 三选一或不选,数码行(digit row)占低 4 位,对应 1~9 中选择一个。BCDIC 系列编码中,通常将区域行为 <code>00</code> 的数据留给正常的 BCD 码。但是 BCDIC 会把全零留给空格,因此 0 被移动到第 10 个编码(有不移动的例外)。相对地,在后三行 <code>0001~1001</code> 即 1~9 的 27 个码位范围内反向排列大写字母。其余的与 0~9 不对齐的数字位 <code>0000</code> 及 <code>1011~</code> 的码位上安排符号。 仍然保持区域行打在上 3 行(0、11、12 列,顺序不一定),数码行打在下 9 行的习惯,只是变成了二进制。 == 码位表 == 由于有多种变体,本文以 48 字符<ref>https://en.wikipedia.org/wiki/BCD_(character_encoding)#48-character BCD code</ref>的版本作为主要部分。 {| class="wikitable" style="text-align:center" |+ BCDIC (6-bit) Character Set ! ! _0 <br/> <code>?? 0000</code> ! _1 <br/> <code>?? 0001</code> ! _2 <br/> <code>?? 0010</code> ! _3 <br/> <code>?? 0011</code> ! _4 <br/> <code>?? 0100</code> ! _5 <br/> <code>?? 0101</code> ! _6 <br/> <code>?? 0110</code> ! _7 <br/> <code>?? 0111</code> ! _8 <br/> <code>?? 1000</code> ! _9 <br/> <code>?? 1001</code> ! _A <br/> <code>?? 1010</code> ! _B <br/> <code>?? 1011</code> ! _C <br/> <code>?? 1100</code> ! _D <br/> <code>?? 1101</code> ! _E <br/> <code>?? 1110</code> ! _F <br/> <code>?? 1111</code> |- ! 0_ <code>00 ????</code> | [[空白字符|空格]] || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 0 || # || @ || || || |- ! 1_ <code>01 ????</code> | || / || S || T || U || V || W || X || Y || Z || || , || % || || || |- ! 2_ <code>10 ????</code> | - || J || K || L || M || N || O || P || Q || R || || $ || * || || || |- ! 3_ <code>11 ????</code> | & || A || B || C || D || E || F || G || H || I || || . || ⌑ || || || |} 其中空白单元格表示这一码位在编码字符集中没有被分配给字符。 其他变体在编码区域行三个孔的顺序、 0 的处理、特殊符号的表示上有差异,基本逻辑基本是一致的。 == 字符编码 == BDCIC 是打孔卡时代的编码方式,其最终编码到 80 列 12 行的打孔卡纸上,只是与原始的编码相比,这个版本允许同一个区域中存在多个孔。 一般把对应原来 12、11、0 这一区域的高 2 位部分打到 12、11、0 三位,对应原来 1~9 这一区域的低 4 位部分打到 1~9 这个部分。 == 参考资料 == [https://en.wikipedia.org/wiki/BCD_(character_encoding) BCD (character encoding) - Wikipedia]
返回
BCDIC
。
Advertising: