¿Cuál es la mejor manera de deserializar una cadena terminada en nulo en .NET?

StackOverflow https://stackoverflow.com/questions/827020

  •  05-07-2019
  •  | 
  •  

Pregunta

Estoy leyendo un mensaje de mi conexión de red que se serializa como una serie de cadenas terminadas en nulo (y otros datos binarios)

Podía leer un char a la vez usando un BinaryReader, hasta que encuentre un NULL.

¿Hay alguna forma más eficiente que sea simple? Estoy esperando cadenas de menos de 64 caracteres de longitud, pero podrían ser más largas.

¿Fue útil?

Solución

Creo que leer byte a byte es una opción razonable, pero usaría un BufferedStream para minimizar el IO en el flujo subyacente.

Otros consejos

Lee todo en una cadena, luego usa String.Split para dividir en los nulos.

Recuerde que las cadenas no están terminadas en nulo en .NET.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top