有關C#中漢字轉換爲十六進制的一些問題。

最近在寫串口通信助手,遇到了需要把漢字轉換爲十六進制的尷尬局面,因爲其他字符如英文字母、換行和數字等都是有相對應的acsii碼的,超過127就是漢字的ASCII碼,這裏做一下說明提供給之後用到的朋友。

 

剛開始我是直接將字符串 轉換爲  16進制

使用的是如下代碼

byte[] byteArray = System.Text.Encoding.ASCII.GetBytes(textbox1_string);

結果如下

我來了123

63 63 63 49 50 51

是byte對應的十進制的數,可以對照ASCII碼對照表查看一下

63是對應的問號(“?”),所以說是所有的中文字符都是在該轉換方式都是問號

然後去查了一遍ASCII碼對照表,發現裏面並沒有中文對應的每個ASCII碼,所以只能另尋他策,然後 選擇了下面的轉換形式

byte[] byteArray = System.Text.Encoding.Default.GetBytes(textbox1_string);

結果如下

我來了123

CE D2 C0 B4 C1 CB 31 32 33 

如圖是byte對應的十六進制的數,中文分割成兩個byte來表示

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章