2011-12-06 10 views
6

Biliyorum ki bu konuyla ilgili pek çok konu var, AMA bir bakıma bakmasa da bir çözüm bulmadı bile .. Ben şunun gibi hex dönüştürüyorum:Altıgen dizgeyi tekrar char değerine dönüştürme

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

Soru: hex'i arka plana nasıl dönüştürebilirim?

+0

bir altıgen dize hakkında soruyorsun? – Oded

+0

Evet, "string hex" öğesini – Min0

cevap

18

Sen deneyebilirsiniz:

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

'FormatException' -" String doğru bir biçimde değil "şeklinde çevirmek istiyorum. – Oded

+0

Teşekkür @Oded, "0x" başlığını göremedim, benim hatam. – Marco

+0

Teşekkürler, bu çözüm mükemmel çalışır. – 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); 
    } 
}