2011-02-08 10 views
5

Tengo una matriz de bytes que ha venido de un lector de código de barras (conectado a través de un puerto COM) la lectura de un documento de identidad. Al convertir estos, puedo leer algunos de los datos, por ejemplo:Obtener datos de cadena de bytes codificados

Nombre, Apellido, Ciudad

etc, pero si algunos de los datos tiene algunos personajes como 'E' o 'Ç', o algunos caracteres que se usan en nuestro idioma [ed: OP está en Pristina, Kosovo], obtengo '?'. ¿Cómo puedo obtener estos personajes a través de la decodificación?

Respuesta

9

lo que necesita saber la adecuada Encoding que utiliza el dispositivo; podría ser UTF-16, por ejemplo, en cuyo caso

string s = Encoding.Unicode.GetString(bytes); 

o UTF-8:

string s = Encoding.UTF8.GetString(bytes); 

pero para codificaciones/código de páginas regionales que tendrá que utilizar:

string s = Encoding.GetEncoding(yourEncoding).GetString(bytes); 
+0

claro y hermoso – UGEEN

Cuestiones relacionadas