2011-12-06 48 views
6

我知道 - 有很多這方面的主題,但即使我看了一堆他們無法找到解決方案.. 我將字符轉換爲十六進制是這樣的:將十六進制字符串轉換回字符

char c = i; 
int unicode = c; 
string hex = string.Format("0x{0:x4}", unicode); 

問題:如何將hex轉換爲char?

+0

你問一個十六進制字符串? – Oded

+0

是的,我想將「string hex」轉換回char – Min0

回答

18

你可以嘗試:

hex = hex.Substring(2); // To remove leading 0x 
int num = int.Parse(hex, NumberStyles.AllowHexSpecifier); 
char cnum = (char)num; 
+0

'FormatException' - 「字符串格式不正確」。 – Oded

+0

謝謝@Oded,我沒有看到領先的「0x」,我的錯誤。 – Marco

+0

謝謝,這個解決方案完美地工作。 – Min0

3
using System; 
using System.Globalization; 

class Sample { 
    static void Main(){ 
     char c = 'あ'; 
     int unicode = c; 
     string hex = string.Format("0x{0:x4}", unicode); 
     Console.WriteLine(hex); 
     unicode = int.Parse(hex.Substring(2), NumberStyles.HexNumber); 
     c = (char)unicode; 
     Console.WriteLine(c); 
    } 
} 
相關問題