2008年9月24日

.NET 中文字簡繁轉換

趁 Tim 這幾天去參加 Tech Ed 上來偷發文
反正他已經預定要寫心得文了 XD
上一篇 坎尼有提到
將 byte[] 裡的值利用 Encoding.Default.GetString 的方式給抓出來
不過坎尼這幾天都面臨了繁中轉換的問題
由於資料是用 GB 碼編成的 
所以轉出來的東西在繁中的 OS裡是無法閱讀的

所以坎尼上網谷歌了一下  這個
不過這篇是繁轉簡  所以坎尼另外再去找了 字碼對照表
於是乎  坎尼很高興地  加入了 Miscrosoft.VisualBasic 參考

然後就按下轉換鍵   很興奮的用 notepad 打開轉完的文件
怎麼會有 ? 之類的字!!!!!  (翻桌
想說怎麼這東西這麼鳥  很多字都無法對應過來

後來坎尼把谷歌大神給我的東西往下捲了幾頁  看到了 這個
原來是坎尼傳入的系統對應ID問題   (0x0404明明就寫 台灣-中文
把 ID 的部分改傳入 中文 RPC  (代號 2052) 就成功了
以下是程式碼
需要注意的地方是  由於資料是 簡體 GB 碼
所以 Encoding 後面是要接 GetEncoding  然後傳入 簡中的 對應code
如果用 Default  則 .Net 會用目前的系統編碼的方式讀入
此時就會看到一堆亂碼了  哈

再來就是把抓到的字串  丟入 VB 下的 Strings.StrConv 去轉換
大功告成!!!!  byte[] 陣列裡的字請大家試著轉轉看 :p

沒有留言:

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D