2.3 電腦與人的溝通 - ASCII code, Unicode

電腦如何與人溝通?

  在上一章節中,介紹到機器語言是運用「0」和「1」這兩個數字來儲存及表示訊息,那究竟現在看到的英文是怎麼被呈現出來的呢?這都歸功於科學家制定了「編碼」的概念,將文字及符號都對應到0和1的組合上,就像在ASCII中「0100 0001」代表「A」。現在就讓我們一起來看看,世界上最廣為人知的編碼為ASCII codeUnicode

ASCII code

  • ASCII的全名是American Standard Code for Information Interchange,譯成中文為美國資訊交換標準程式碼。

  • 它是以拉丁字母為基底的電腦編碼系統,ASCII最初是用了7個位元來表示每一個字元,共可以表示出128個字元,雖然看起來並不多,但已經能夠表達出A-Z、a-z及0-9來滿足英語系國家。

  • 但因歐洲許多國家有著許多不是純英文表示的字元,於是後期發展ASCII由7位元擴充為8位元,稱作EASCII(Extended ASCII)。共以256個字元所組成,擴充了許多符號、更提供希臘或拉丁符號使用。

  • ASCII中第0~31號及第127號是控制或通訊專用字元,如LF(換行)DEL(刪除)等。第32號~126號則是可顯示字元,含括了大小寫英文字母阿拉伯數字以及一些標點符號

Unicode

  • 因為不同語言所需要的編碼不同,需要因地制宜,所以編碼百家爭鳴。不過隨著網際網路的發展,電腦間時常要交換訊息,需要一套通用的編碼,於是Unicode孕育而生。

  • Unicode在中文裡稱為萬國碼或是國際碼,顧名思義它正是一套業界標準。將全世界所有的文字與符號都收錄進去,並以一組十六進位的數字給予每個字元一個獨一無二的代碼。

  • 但因電腦只看得懂0和1,所以我們需要將Unicode轉換為0和1才能在電腦上運行。而Unicode定義了兩種轉換方式,其中需要認識的為Unicode Transformation Format (UTF)!

UTF-8

  • 因為世界上的文字符號過多,如果要統一用固定長度的編碼來表達全世界的文字,會浪費很多儲存空間和傳輸頻率。好比是ASCII只需要一個位元組就能表達一個字元,但Unicode卻需要很多個位元組。

  • UTF-8是一個可變長度的編碼,使用1到4個位元組來表達一個字元,並能與ASCII相容。因為它可以判斷要以多少位元組來表示字元,所以UTF-8成為全世界最廣泛被使用的編碼方式。

小結

  如果想知道Unicode每個代碼代表什麼,可以看看Ian-Albert.com網站,裡面把許多文字的編碼都整理成非常完整的Unicode圖表供參考。有了Unicode收錄世界上大多數的語言,不同語言的人們才能在電腦上互相交流,真的是不可或缺的發明!

Last updated