Quel est le meilleur moyen de désérialiser une chaîne terminée par un caractère null dans .NET?

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

  •  05-07-2019
  •  | 
  •  

Question

Je lis un message de ma connexion réseau qui est sérialisé sous la forme d'une série de chaînes terminées par un caractère nul (et d'autres données binaires)

Je pouvais lire un caractère à la fois à l'aide d'un lecteur binaire, jusqu'à ce que je trouve un NULL.

Existe-t-il un moyen plus efficace qui reste simple? Je m'attends à des chaînes de moins de 64 caractères, mais elles pourraient être plus longues.

Était-ce utile?

La solution

Je pense que lire octet par octet est une option raisonnable, mais j’utiliserais un BufferedStream pour réduire les E / S sur le flux sous-jacent.

Autres conseils

Lisez le tout dans une chaîne, puis utilisez String.Split pour fractionner les valeurs nulles.

N'oubliez pas que les chaînes ne sont pas terminées par un caractère null dans .NET.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top