如何在沒有中文系統之下將 unicode 內碼轉換成 big5 碼

已答覆 如何在沒有中文系統之下將 unicode 內碼轉換成 big5 碼

  • 2011年3月29日 上午 06:07
     
     

    請問一下, 有沒有辨法在沒有中文系統環境下, 將 unicode 內碼轉換成 big5 內嗎??

    因為我的程式是跑在英文環境下, 而外部機器只接收 BIG5 的內碼, 我要將程式中預設中文字, 傳送至外部機器顯示,

    請問有沒有辨法做到?? 謝謝~~

    • 已移動 小歐ouMVP 2011年3月29日 下午 05:09 WinCE問題 (從:Visual C#)
    •  

所有回覆

  • 2011年3月29日 上午 06:25
     
     
  • 2011年3月29日 上午 06:50
     
     

    你好...

    那個網頁並不是unicode 轉 big5 碼, 而我要的功能是是 unicode <-> big5, 不知道您有沒有辨法??

  • 2011年3月29日 上午 07:14
     
     
  • 2011年3月29日 上午 07:17
     
     
  • 2011年3月29日 上午 07:31
     
     

     傳送至外部,是指兩個設備互傳嗎?

    是用什麼介面傳送?

    rs232? TCP/IP?

    如果是預設的中文字,就直接是char array丟出去而已,好像沒什麼特別的

    const char[]={0xaa,0xbb,....}

    像這樣?


    zeus
    • 已編輯 宙斯 2011年3月29日 上午 07:32 補充
    •  
  • 2011年3月29日 上午 07:42
     
      包含代碼

    你好...

    我在沒有中文的環境下, 使用

    Encoding.Convert(Encoding.Unicode, Encoding.GetEncoding(950), origBytes);

    會有問題, 應該是找不到 950 這個 Code Page, 所以我想要用程式自己轉換, 請問有相關範例嗎? 謝謝~

  • 2011年3月29日 上午 07:53
     
     

    那你想傳出去的中文unicode是從哪邊來的?

    是內建好的?

    string chinese1={......};

    string chinese2={......};

    還是從其它地方接受的輸入?

    中文字是放在什麼type裡?string, char[], ...?

     

    先問一下,

    你用的OS是什麼?有支援unicode嗎?

    如果有,那你的英文環境不能顯示中文就只是缺字型檔而已

    對encoding.Convert應該沒什麼影響才是………

     


    zeus
  • 2011年3月29日 上午 07:55
     
     

     宙斯您好...

    是用 GPIO 來控制顯示設備...

    因為程式中要顯示的中文字很多, 不太可能自已將中文字先轉成 BIG5 byte 陣列, 所以才想有沒有辨法用程式幫忙轉換..

    像是  "我" 這個 BIG5 碼為 0xA7 0xDA  .... 等

  • 2011年3月29日 上午 08:42
     
      包含代碼

    我也不太確定行不行,不過可以試試這個,看起來好像是你要的效果

     

          Encoding big5 = Encoding.GetEncoding("big5");
    
          string myStr = "我測試一下";
          byte[] bytes;
    
    
          bytes = big5.GetBytes(myStr);
    


    zeus
  • 2011年3月29日 上午 09:00
     
     

    宙斯您好...

    我的中文字, 是我程式內已寫好的...

    存放就像這個樣子...

    string aaa = "這是測試文字";

    我的OS是 WinCE 6.0 R3, 有支源unicode, 但是沒有包中文進去...

    不能用 Encoding.GetEncoding("big5"); 會有錯誤..

  • 2011年3月29日 上午 09:50
     
     

    hi,

    錯誤訊息的內容可以貼一下嗎?

    另外,有試著安裝語系嗎@@?


    My Blog:http://www.dotblogs.com.tw/alonstar
    解決問題之後,別忘了回到論壇把正確回應標示成解答哦!
  • 2011年3月29日 上午 10:03
     
     已答覆

    印象中純外文語系的作業系統,除了 Unicode 以外,通常不會安裝特定國家的語系編碼。
    所以在英文作業系統中不能使用 big5 內碼是很正常的事...

    可考慮在 Windows CE 上安裝繁體中文的 Language Pack,這樣應該就可以使用 Big5 編碼。 


    小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
    雲端學堂Facebook: http://www.facebook.com/pages/StudyAzurecom-yun-duan-xue-tang/155855707799579
    • 已提議為解答 小歐ouMVP 2011年3月29日 下午 05:10
    • 已標示為解答 linjr 2011年3月29日 下午 05:21
    •  
  • 2011年3月29日 上午 10:10
     
     

    如果系統不支援big5的話…好像沒什麼好方法,就自己做張table硬解

    不然的話…

    MultiByteToWideChar()  

    WideCharToMutiByte()

     

    也許幫得上忙


    zeus
  • 2011年3月29日 下午 04:37
     
     

    宙斯你好..

    我是有找到一個  BIG5 <-> UNICODE 對應表, 但是有2萬多筆資料.
    嗯.. 目前只好將中文包進OS中了~

  • 2011年3月29日 下午 04:38
     
     

    小朱您好..

    嗯.. 了解了~ 只好在 WinCE 中包入中文....