精華區beta b885060xx 關於我們 聯絡資訊
※ 引述《"Tomas Kang" <hmkang@ms2.hinet.net>, 看板: Programming》之銘言: : 愛荷普雷 <ihpled.bbs@bbs.cs.nthu.edu.tw> 次寫入到主題 : > 那請問哪裡可以找得到Big5+和GB碼的表呢? : > 或是有什麼程式的code? : 事實上, 除非是寫世界上第一套繁體轉簡體的軟體, 使得作者必須要自己想辦 : 法建這個對照表之外, 其他的人, 都可以利用已有的轉換軟體來自行建立對照 : 表的! 只要將所有的繁體字依內碼序產生於一文字檔中(如 "一乙丁七乃...") : 再利用這個現成的轉換程式來轉換, 就可取得這個對照表了. 在 win32 api, 或是 java 都有各種 code 轉換的 api... 下面是我用 java 寫的... 不知道有沒有問題就是了.... 執行結果: S:\zz\Java\test\gbb5>d:java Main | MORE b5=0xa1,40|gb=0xa1,a1|unicode=0x0,30 b5=0xa1,41|gb=0xa3,ac|unicode=0xc,ff b5=0xa1,42|gb=0xa1,a2|unicode=0x1,30 b5=0xa1,43|gb=0xa1,a3|unicode=0x2,30 b5=0xa1,44|gb=0xa3,ae|unicode=0xe,ff b5=0xa1,46|gb=0xa3,bb|unicode=0x1b,ff b5=0xa1,47|gb=0xa3,ba|unicode=0x1a,ff ............. source code: public class Main { public static void main(String[] args) { byte big5[]=new byte[3]; big5[2]=0; for (int i=0x80; i<256; i++) for (int j=0; j<256; j++) { big5[0]=(byte)i; big5[1]=(byte)j; try{ String a=new String(big5,"Big5"); byte unicode[]=a.getBytes("UnicodeLittle"); byte gb[]=a.getBytes("GBK"); if (gb[1]==0) continue;//no such code... System.out.println ("b5=0x"+Integer.toHexString((int)big5[0]&0xff) +","+Integer.toHexString((int)big5[1]&0xff)+"|gb=0x" +Integer.toHexString((int)gb[0]&0xff) +","+Integer.toHexString((int)gb[1]&0xff)+"|unicode=0x" +Integer.toHexString((int)unicode[2]&0xff) +","+Integer.toHexString((int)unicode[3]&0xff) ); } catch (java.io.UnsupportedEncodingException ex) {} } } } -- ※ Origin: 鳥窩 (BirdNest.infoX.Net) ◆ From: 210.243.146.1