2011-12-06 21 views
6

私は知っていますが、これについては多くの話題がありますが、それらの束を見ても解決策を見つけられませんでした。 私はcharを16進数に変換しています:16進文字列をcharに変換する

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

質問:hexをcharに戻すにはどうすればいいですか?

+0

あなたは16進文字列について尋ねていますか? – Oded

+0

はい、私は "文字列16進数"を文字列 – 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); 
    } 
} 
関連する問題