Quel est le meilleur moyen de désérialiser une chaîne terminée par un caractère null dans .NET?
-
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.
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.