Was ist der beste Weg, um einen nullterminierten String in .NET deserialisieren?
-
05-07-2019 - |
Frage
Ich lese eine Nachricht von meiner Netzwerkverbindung, die als eine Reihe von nullterminierten Strings serialisiert wird (und andere Binärdaten)
ich ein Zeichen in einer Zeit lesen konnte eine Binary verwenden, bis ich ein NULL finden.
Gibt es eine effizientere Art und Weise, die noch einfach ist? Ich erwarte Strings weniger als 64 Zeichen lang, aber sie könnten länger sein.
Lösung
Ich denke, das Lesen Byte für Byte eine vernünftige Option ist, aber ich würde ein BufferedStream zu minimieren IO auf dem zugrunde liegenden Stream.
Andere Tipps
Lesen Sie die ganze Sache in einen String, dann String.Split verwenden, um auf den NULL-Werten zu teilen.
Beachten Sie, dass Zeichenfolgen in .NET nicht null-terminiert sind.