我讀到有一個6位元字元編碼並想知道 5 位編碼是否有用或在某些情況下被認為是一種改進。
我想我已經找到了實現這一目標的方法,只需編寫相關程式碼即可將文字從 8 位元編碼/解碼為 5 位,反之亦然。
答案1
電傳打字機使用的舊 Baudot 代碼使用 5 個資料位元。它允許透過電報系統發送和接收文本,並在類似於打字機的設備上列印。它於 1840 年代首次推出,並在 1970 年代仍然普遍使用。對於串行通信,新增了 2 個起始位元和一個結束位元。
5 位元代碼僅提供 32 種組合。為了支援字母字元加數字和符號,使用了兩種模式。字母模式有字母,而數字模式有數字和符號。空格、回車、換行和切換模式的字元對於兩者來說都是相同的。不支援小寫字元。
使用 5 位元代碼是因為它在機械設備中實現起來很簡單,並且可以有效地利用慢速傳輸系統。目前它的用處值得懷疑,但它可能對非常特殊的目的有用。但任何優點都必須與局限性仔細權衡。
答案2
是的,5 位元編碼在某些情況下很有用。特別是,在受限的環境中,只需考慮舊的遊戲硬體(例如 NES)或透過網路進行的資料傳輸。
當字元集較小時,可以將字串編碼為每個字元 5 位元而不是每個字元 8 位元的位元流。這會導致資料大小的減小。您正在使用固定位長度編碼來壓縮資料。當然,由於需要“編碼/解碼”,您正在用“壓縮資料”換取“更高的處理速度”。
使用 5 位元允許資料的值範圍為 0-31 ($00-$1F)。您只能代表 32 個項目。透過使用分頁/模式,您可以擴展支援的項目數量。例如,3 個頁麵包含 32 個字元 + 32 個字元 + 32 個控制命令。
如上所述,這是固定位長編碼。後續主題是可變位長編碼,然後是霍夫曼編碼(用於透過進行專案頻率/出現分析來優化編碼)。