Convertir una Array de Bytes a string

25/08/2009 - 01:51 por ANT1 | Informe spam
Hola a todos.

Hacía mucho que no escribía por aquí, espero que aún quieran ayudarme.

Estoy trabajando en un proyecto personal en el que trabajo con
imágenes JPG. A la hora de acceder a los PropertyItems que tiene y
convertir, por ejemplo, el título del Array de Bytes que es a string
mediante:

private string ByteArrayToStr(byte[] bytes)
{
return System.Text.ASCIIEncoding.ASCII.GetString(bytes);
}

Me convierte el array pero aparecen un montón de '/0' insertados por
todo el string.
¿Por qué es esto?¿cómo lo puedo solucionar?

Gracias y un saludo
 

Leer las respuestas

#1 Alberto Poblacion
25/08/2009 - 09:06 | Informe spam
"ANT1" wrote in message
news:
[...] A la hora de acceder a los PropertyItems que tiene y
convertir, por ejemplo, el título del Array de Bytes que es a string
mediante:

private string ByteArrayToStr(byte[] bytes)
{
return System.Text.ASCIIEncoding.ASCII.GetString(bytes);
}

Me convierte el array pero aparecen un montón de '/0' insertados por
todo el string.
¿Por qué es esto?¿cómo lo puedo solucionar?




Tiene pinta de que el array de bytes no contiene ASCII, sino otra
codificación distinta. Por ejemplo, si fuera Unicode, la mayor parte de los
caracteres tendrán 16 bits de los cuales 8 serán ceros, y al tratar de
interpretarlo como ASCII ese byte de ceros será interpretado como carácter
cero ('\0').

Trata de averiguar cuál es realmente la codificación utilizada, y cambia
el Encoding.ASCII por el que corresponda.

Preguntas similares