開關鍵控成為通訊工作的基礎

作者: Bob Witte,Signal Blue LLC總裁

電子通訊改變了世界的連接方式。它早在Twitter、電視甚至電話之前就已經開始有了,其秘密就在於鍵控和數位編碼。

電子通訊改變了世界的連接方式。它早在Twitter、電視甚至電話之前就已經開始有了,其秘密就在於鍵控和數位編碼。

電報是最早廣泛使用的電子通訊方法。我們可能認為這不是「數位(Digital)」,而是使用開關鍵控來傳遞消息。儘管嘗試了更複雜的訊令方法,但最常見的電報是透過電報鍵切換的簡單開關電路,在接收端操作發聲器,摩斯密碼就是使用這種開關鍵控來發送字元和數字(圖1)。

圖1 簡單的開關鍵控通常用於發送文本消息,如這個摩斯密碼「R」所示。

Baudot

隨著無線電話開發出來,Baudot碼(也稱為Murray碼)成為主要的編碼格式。假設要對26個英文字母、0~9的數字,以及十幾個標點符號、數學和控制程式碼進行編碼,就要求必須發送大約50個唯一程式碼。Baudot僅使用5位元,可以表示25個程式碼(32個唯一程式碼)。為了支援其他程式碼,Baudot碼利用狀態改變——由字母換檔(LTRS)碼和數位換檔(FIGS)碼控制——而使其可以支援大約兩倍的字元數量。FIGS碼(11011)發出,表示後續字元將被解釋為在FIGS集中,直到LTRS(11111)程式碼將其重置為止。這是一種可行的技術,但是它確實需要接收單元跟蹤系統狀態。儘管如此,Baudot碼可表示的字元數仍然有限。

ASCII

1968年,美國國家標準協會(American National Standards Institute)採用了美國國家資訊交換標準程式碼(ASCII),通常發音為「ask-key」。ASCII最開始有7位元程式碼,包括英語的26個字元(大寫和小寫)、數字0~9,以及許多其他的字元和控制程式碼(圖2),這個英語所用的26個字元更正確的說法是拉丁字母。

請注意,ASCII已廣泛用於資訊的傳輸和儲存。隨著時間的推移,已有無數個文字檔創建並儲存成了ASCII編碼。

圖2 基本的7位元ASCII碼支持拉丁字母(大寫和小寫)、數字、字元和控制程式碼。

ASCII碼的設計著眼於字元的數位操作。例如,數字字元(0、1、3等)以十六進位數30H開頭,即字元0為30H,字元1為31H,依此類推。去掉最高幾位,就可以輕鬆地將ASCII碼轉換為數位值。

同樣,大、小寫字母也進行了編號以方便轉換。大寫字母以41H(字母A)開頭,然後是42H(B),依此類推。小寫字母的開頭是61H(a),然後是62H(b),依此類推。因此,將大寫字母轉換為小寫字母,只需要將適當的位元位置設置為1即可。

「基本ASCII」使用了數字0~127(0H~7FH),僅用了7位元。然後,該標準又增加擴充字元集(使用了一個附加位元)。實際上,隨著時間的推移,出現了幾種不相容的擴充字元集。這些字元編碼為80H~FFH。擴充字元包括一些非英語語言中的特殊字元、一些其他數學符號和基本圖形符號。

Unicode和UTF-8

儘管ASCII在使用拉丁字元集的語言中為我們提供了很好的服務,但對於其他語言來說顯然不足。為了解決此問題,業界開發了Unicode標準,目前已有137,994個字元被定義(Unicode 12.1)。Unicode當中定義的一組字元,全都映射到一組特定的32位元數字。

Unicode字元集非常廣泛,包括多種語言的字元、數學運算子、幾何形狀、國際象棋符號、麻將牌和表情符號。這裡不會嘗試列出所有字元,但是可以使用「Unicode 12.1 Character Code Charts」中的網址流覽字元集。ASCII字元集在Unicode標準中保持不變,稱為「基本拉丁」字母表。

UTF-8標準則定義了Unicode在實際應用中的編碼方式。UTF-8已成為萬維網上的主導,超過94%的網站都使用了它。

它使用了一種有效的編碼技術,因此ASCII字元仍然僅佔用1個位元組,而UTF-8卻仍然支援多達4個位元組來處理大量的其他字元。如果沒有這種8位元ASCII特性,那麼由於編碼效率低下,僅使用ASCII的現有檔要擴大4倍。

Tom Scott對「Unicode奇跡」做了視訊說明,非常有趣,值得一看(「Characters, Symbols and the Unicode Miracle-Computerphile」)。Unicode可能會繼續進行修訂和擴展,但願它能為我們服務很多年。32位元格式對摩斯密碼做了巨大改進,但其核心仍然是開關鍵控。

參考資料

1.Teletypewriter Communication Codes, Gil Smith

2.ASCII Table

3.Unicode 12.1 Character Code Charts

4.How it was: ASCII, EBCDIC, ISO, and Unicode, Clive (Max) Maxwell, EDN, Oct 7, 2011.

5.Characters, Symbols and the Unicode Miracle-Computerphile, Tom Scott, YouTube

(參考原文:On/off keying gets the communications job done,by Bob Witte)

 

發表評論