[oeasy]python0084_擴展BCD_EBCDIC_ibm的發(fā)家史
編碼進(jìn)化
回憶上次內(nèi)容
上次 回顧了
數(shù)字 進(jìn)入二進(jìn)制世界的 過程
采用的編碼 是 BCD
也叫8421碼
十進(jìn)制數(shù)的 二進(jìn)制形態(tài)
B
inaryC
odedD
ecimal數(shù)字的 輸出形式
7-seg
輝光管
七段數(shù)碼管

除了數(shù)字 之外
還有 字母
字母 是如何編碼進(jìn)入 計算機世界的 呢???
BCDIC
在BCD的 基礎(chǔ)上
ibm 繼續(xù)著 人口統(tǒng)計的工作
除了數(shù)字之外
有了 字母編碼的需求

ibm制作了一種 6-bit 的字符編碼格式
Binary Coded Decimal Interchange Code
BCDIC
是一種 6-bit 的編碼
是一種 以紙帶為核心的 編碼
在BCD的基礎(chǔ)上 添加了字母
字母 按照十進(jìn)數(shù) 編碼
為什么 不按 二進(jìn)制數(shù) 編碼呢???
輸入
輸入的設(shè)備 是 數(shù)字鍵盤
3個十進(jìn)制數(shù)字輸入1個字母

數(shù)字鍵盤 在固定電話中 依然存在

有點像 九鍵輸入法
當(dāng)時的 ibm
是 數(shù)字世界的 領(lǐng)航員
ibm
ibm從一開始
玩的 就是數(shù)字化
以人口統(tǒng)計 起家

到 稱重計價

再到 上班打卡

數(shù)字化 根本離不開ibm
ibm開始逐漸盲目自大
醞釀了隱患
隱患
數(shù)字鍵盤
符號部分需要四次按鍵

BCDID
本來連續(xù)的 6-bit 當(dāng)中
4
行12
列 本應(yīng)連續(xù)

紅色部分造成
字母序號 不連續(xù)
這 是個 小小的隱患
行列
BCD擴展后的 BCDIC

6 位 2進(jìn)制數(shù)字
可以記錄 1個字符

6-bit的編碼
繼續(xù)發(fā)展
ibm業(yè)務(wù) 越來越多
各國都要統(tǒng)計數(shù)據(jù)

業(yè)務(wù) 越來越多
編碼方式 大同小異
但是 隨著業(yè)務(wù)的不同
每次的編碼 也有 調(diào)整
商業(yè) 公司
商業(yè)公司 也想要 統(tǒng)計數(shù)據(jù)
ibm也接下

業(yè)務(wù)多了
也在隨著業(yè)務(wù)的增多不斷發(fā)展變化
BCDIC 這個編碼本身
問題
ibm 在數(shù)字化的過程中 機會很多
BCDIC編碼 也跟著
變化
隨著業(yè)務(wù)的
變化
造成了 編碼本身的 不穩(wěn)定

后面的代碼
并不能 和前面兼容
那個時候 還沒有向下兼容的 概念
后來
混亂之上的混亂就顯得更加混亂??
總共有 6 個不兼容的編碼??
每個編碼都不同??
各個編碼之間不能相互轉(zhuǎn)化??
甲方不得不花錢來進(jìn)行轉(zhuǎn)化???

話說編碼不應(yīng)該是最開始就想好么?
現(xiàn)實卻是設(shè)計跟著思路
思路跟著需求走
ibm 終于意識到不同的格式之間應(yīng)該編碼統(tǒng)一了 ??
編碼細(xì)節(jié)
由于 編碼不兼容
導(dǎo)致 舊的數(shù)據(jù)不能用了
這個編碼轉(zhuǎn)化
沒
人知道怎么弄成了 IBM 歷史上 最大黑點和最高機密
IBM今天
歷史上游的優(yōu)勢
真的很厲害
仍然是銀行和金融系統(tǒng)
最
相信的系統(tǒng)集成商

后期編碼中
比較穩(wěn)定
基本數(shù)字和字符
IBM 也有了 專門 進(jìn)行解碼的打印機
但是 符號部分
沒有 統(tǒng)一的規(guī)范
隨著 業(yè)務(wù)變化
處于 一個混亂的狀態(tài) 中
為了兼容而兼容
把隱患就給兼容進(jìn)來了
為什么 要 這樣編碼 呢?
利于轉(zhuǎn)化
ibm 終于開始注意 向后兼容的問題
這種新編碼是要和原來的 6-bit 的編碼兼容
可以快速的轉(zhuǎn)化

按理說以 ibm 當(dāng)時壟斷的情況
RCA 和富士也開始以此標(biāo)準(zhǔn)制作兼容系統(tǒng)
兼容這種編碼
已經(jīng)把這個編碼做成自己的標(biāo)準(zhǔn)
也就成了行業(yè)的標(biāo)準(zhǔn)
在隱患上建立起再高的大樓
也是要倒塌的
可是用什么編碼來統(tǒng)一的呢???
EBCDIC
ibm終于決心把字符編碼定下來
配合最新發(fā)布的8-bit計算機
Extended Binary Coded Decimal Interchange Code
[eb'si:dik]
在BCDIC的基礎(chǔ)之上
確立EBCDIC
用一個字節(jié)來編碼
符號數(shù)量提升
前面是控制字符
NUL
DEL
CR(還記得什么意思么?)
NL(還記得什么意思么?)
黑暗森林 開始 慢慢成型??

但是注意 這EBCDIC和ascii 還不一樣
黑暗森林后面 是 字母和數(shù)字
字母排布 仍然 兼容BCDIC
字符編碼 并不連續(xù)
i和j之間的序號 相差不止1
向后兼容
字母部分 確實是 向后兼容的

不過 這套排布方式
和ascii 并不一致
雖說 這種編碼
有
缺陷但是
已經(jīng)
形成了 行業(yè)標(biāo)準(zhǔn)ascii究竟是 如何 從
無
到有能否打敗 強大的藍(lán)色巨人IBM
在編碼大戰(zhàn)中 笑到最后 呢?
總結(jié)
這次 回顧了 字符編碼的 進(jìn)化過程
作用 ?非常大
IBM 的 BCDIC 有 黑歷史 ??
IBM 在數(shù)字化過程中
6-bit的 BCDIC
直接進(jìn)化成 8-bit的 EBCDIC
補全了 小寫字母 和 控制字符
在ibm就是信息產(chǎn)業(yè)的年代
沒有成為 行業(yè)的標(biāo)準(zhǔn) 呢???
ibm的標(biāo)準(zhǔn) 怎么最終
我們下次再說!*
藍(lán)橋->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython
視頻->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy