Qual é a melhor maneira de anular a serialização uma string terminada em nulo no .NET?

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

  •  05-07-2019
  •  | 
  •  

Pergunta

Estou lendo uma mensagem da minha conexão de rede que é serializado como uma série de strings terminadas em nulos (e outros dados binários)

Eu poderia ler um caractere em um tempo usando um BinaryReader, até eu encontrar um NULL.

Existe uma maneira mais eficiente que ainda é simples? Estou esperando cordas menos de 64 caracteres de comprimento, mas eles poderiam ser mais longo.

Foi útil?

Solução

Eu acho que ler byte a byte é uma opção razoável, mas eu usaria um BufferedStream para minimizar IO no fluxo subjacente.

Outras dicas

Leia a coisa toda em uma corda, em seguida, usar String.Split para Split, na nulos.

Lembre-se que cordas não estão em .NET terminada em null.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top