2011-12-06 14 views
6

Sé que hay muchos temas sobre esto, PERO aunque miré a través de un montón de ellos no pude encontrar la solución ... Estoy convirtiendo char en hexadecimal de esta manera:Conversión de cadena hexadecimal de nuevo a char

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

Pregunta: cómo convertir hex a char?

+0

lo preguntas acerca de una cadena hexadecimal? – Oded

+0

sí, quiero convertir "string hex" de nuevo en char – Min0

Respuesta

18

Usted podría intentar:

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

'FormatException' -" Cadena no estaba en el formato correcto ". – Oded

+0

Gracias @Oded, no he visto "0x", mi error. – Marco

+0

Gracias, esta solución funciona perfectamente. – 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); 
    } 
} 
Cuestiones relacionadas