伍、bit,byte識讀及字符編碼:

一、bit(位元):

  1. 可代表0或1的一個點(。或•),有兩種可能。
  2. 2bit代表2×2=4種可能:(0:。。)(1:。•)(2:•。)(3:••)。
  3. 3bit代表2×2×2=8種可能:(0:。。。)(1:。。•)(2:。•。)(3:。••)(4:•。。)(5:•。•)(6:••。)(7:•••)。
  4. 4bit代表2×2×2×2=16種可能,可代表0-15,恰可用「一個」16進位數字表示:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。
  5. 8bit代表2的8次方,共256種變化,代表0-255,用「兩個」16進位數字表示,如0A,B8,…
  6. 8bit叫做1byte(位元組),是電腦中使用的基本單位。

二、ASC II:

  1. 美國標準編碼,最早期的電腦字符編碼。
  2. 用1byte代表:字母大小寫、數字、英文標點符號、控制碼…。
  3. 前128個字元(0-127)比後128個字元基本而重要。前127個字符恰可以7bit(2的7次方)代表。

三、Big5編碼:

  1. 當電腦應用擴散到台灣後,台灣所制定的編碼系統之一,不是官方標準,但活最久。
  2. 用兩byte代表一個中文字第一個byte由A1-FE(93種變化),第二個byte由40-FE(191種變化),共可以有17763種變化。
  3. 收5401個常用字7652個次常用字,共13053個正體中文字。
  4. 沒收「?、?、?、?」等字。
  5. 其第二個字元沒有避開\5C(16進位),導致嚴重的問題。反斜是多種電腦語言中的控制字元。導致許(B35C)功(A55C)蓋(BB5C)等字引發程式中的嚴重問題。
  6. 無法在一篇文件中同時出現簡、正體字。
  7. 第一byte後來又擴充到81-A0,演變出倚天big5(Big5Eten)、香港Big5(Big5 HKSCS)、Big-unicode、Big5+、Big5E…。各套編碼間不盡相同。

四、萬國碼:

  1. 由國際標準組織Unicode協會制定,目的在收所有國家的字符,只編到16bit。
  2. 收20902個正體中文字,中日韓(CJK)字符。
  3. 不但常見字不齊的問題少(「?、?、?、?」等字都有收)。而且避開有5C(反斜)。
  4. 可以在一篇文件中同時出現簡、正體字。
  5. 為了適應電腦以byte為單位,發明了一套編碼規則,叫utf-8:
    • 以下x代表編碼位元(bit)
    • 1byte:0xxxxxxx:共128個基本字符。7個編碼位元 0-127,16進位0-7F。
    • 2byte:110xxxxx,10xxxxxx:11個編碼位元,128-2047,16進位80-7FF。
    • 3byte:1110xxxx,10xxxxxx,10xxxxxx:16個編碼位元,2048-65535,16進位800-FFFF。
    • 4byte:11110xxx,10xxxxxx,10xxxxxx,10xxxxxx:21個編碼位元,65536-2097152,16進位10000-1FFFFF。為ISO10646字元集,非Unicode字元集。
    • 11111xxx沒有用來編碼,16進位F8-FF。
    • utf-8文件,常在文件開頭擺BF,BB,BF(十進位),提示這是一份utf-8文件。
  6. 在html中可以用「&#十進位數值;」或「&#x十六進位數值;」代表Unicode字符。
  7. 正體中文是從編碼19968(一)到編碼40869(顩)共20902字,正體字從63744(豈)-64045(鶴)還有301個字。後面為什有這301字我也不知道,要另請教高明。
  8. utf-8文件,常在文件開頭擺EF,BB,BF(十進位65279),提示這是一份utf-8文件。

五、作業系統與編碼:

  1. Linux的檔名與檔案內容均能採用多種編碼,可以用big5也可用utf-8。
  2. windows檔案內容可以支援多種編碼,但檔名只能支援big5,另檔名避開/\:*?"<>|。
  3. filezilla上下傳檔案時,不會改檔名,即使兩邊的編碼不同,一為big5一為utf-8時。
  4. samba會依兩邊的編碼不同,一為big5一為utf-8時,自動轉換檔名。
  5. 瀏覽器上傳、下載時,依當時clint端瀏覽頁的編碼設定。
  6. Mail編碼暫不講,講義再補充。

六、convertZ操作: