http://www.dotblogs.com.tw/as15774/archive/2012/10/29/79734.aspx 原帖
Big5中文又稱"大五碼",現在的中文大部分都是使用這個標準。
那麼要怎麼做判斷呢?以下來簡單介紹一下。
Big5有兩個位元組所組成。
第一組8Bit範圍為 0x81~0xFE
第二組8Bit範圍為 0x40~0x7E 及 0xA1-0xFE
詳細的表格請檢視維基百科http://zh.wikipedia.org/wiki/大五碼#.E5.AD.97.E7.AF.80.E7.B5.90.E6.A7.8B
知道了這些規則後,來建立一個流程!!
之後就可以開始著手寫程式了!!
以下以C++作範例:
01 | void IsBig5(string strIn) |
06 | if (strIn[0]>=( char )0x81 && strIn[0]<=( char )0xFE) |
08 | if (strIn[1]>=( char )0x40 && strIn[1]<=( char )0x7E) |
10 | cout<< "是 Big5 字碼" <<endl; |
14 | if (strIn[1]>=( char )0xA1 && strIn[1]<=( char )0xF1) |
16 | cout<< "是 Big5 字碼" <<endl; |
20 | cout<< "非 Big5 字碼" <<endl; |
26 | cout<< "非 Big5 字碼" <<endl; |
31 | cout<< "非 Big5 字碼" <<endl; |
這個範例是假設使用者一定會輸入1個任意字(英文、數字、中文...等等)!!
之後當然!
可以讀入一整個字串,在個別判斷是否為Big5字碼。
文中若有文字錯誤或觀念錯誤請不吝指教,謝謝大家 =)