¿Cuál es la mejor manera de deserializar una cadena terminada en nulo en .NET?
-
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.
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