close
判斷 Big5

Big5 第一位元編碼範圍是 0xa1 - 0xf9,第二位元範圍是 0x40 - 0x7e 與 0xa1 - 0xfe,不過這個範圍內仍有不存在任何字的地方

依倚天中文系統系統字型檔的定義 STDFONT.15 (共 13094 字)
A440~C67E ← 5401 個常用字
C940~F9D5 ← 7652 個次常用字
C9D6~F9FE ← 41 個倚天字

SPCFONT.15 (共 408 字)
A140~A17E (63 個) A1A1~A1FE (94 個)
A240~A27E (63 個) A2A1~A2FE (94 個)
A340~A37E (63 個) A3A1~A3BF (31 個)

SPCFSUPP.15 (共 408 字)
C6A1~C6FE (94 個)
C740~C77E (63 個) C7A1~C7FE (94 個)
C840~C87E (63 個) C8A1~C8FE (94 個)

用C來判斷就是

C++:
  1. BOOL IsBig5(const char *p)
  2. {
  3. unsigned char a ;
  4. unsigned char b ;
  5. a = *p;
  6. b = *(p+1);
  7. return ( ( (a>=0xA4 && a<=0xC6) || (a>=0xC9 && a<=0xF9) ) &&
  8. ( (b>=0x40 && b<=0x7E) || (b>=0xA1 && b<=0xFE)));
  9. }

GBK(6763字)與Big5(13053)字的由來

GBK高位元,行碼0xA1-0xFE,低位元,列碼0xA1-0xFE,每行94個漢字
其中:

GBK碼範圍
1-15行 (A1-AF) 全形字母、符號
16-55行(B0-CF) 以拼音為序的一級漢字3755字
56-87行(D0-F7) 以部首為序的二級漢字3008字

例如:GB碼16行1列表示「啊」字,編碼為0xB0A1。

Big5高位元,行碼0xA1-0xFE,低位元,列碼0×40-0×7E, 0xA1-0xFE,每行157個漢字
其中:

Big5碼範圍
1-3/38-40行(A1-A3, C6-C8) 全形字母、符號
4-39行(A4-C6) 一級漢字5401字
41-89行(C9-F9) 二級漢字7652字

例如:BIG5碼16行121列同樣表示「啊」字,編碼為0xB0DA。


arrow
arrow
    全站熱搜

    Bluelove1968 發表在 痞客邦 留言(0) 人氣()


    留言列表 留言列表

    禁止留言