Konvertierung von String und Byte-Array in C#
Die Konvertierung von Zeichenfolgen in Byte-Arrays kann bei der Migration von Code von VB nach C# zu Problemen führen. Dies gilt insbesondere, wenn es um Eigenschaften zurückgegebener Objekte und nicht um Byte-Arrays geht.
Bedenken Sie den folgenden problematischen Code:
<code class="language-csharp">if ((searchResult.Properties["user"].Count > 0)) { profile.User = System.Text.Encoding.UTF8.GetString(searchResult.Properties["user"][0]); }</code>
Der in diesem Code aufgetretene Fehler rührt von der Erwartung her, dass der Eigenschaftswert ein Byte-Array sein wird, obwohl es sich tatsächlich um ein Objekt handelt. Um dieses Problem zu lösen, ist es wichtig, zunächst die Kodierung zu verstehen, die zum Konvertieren der Zeichenfolge in das Byte-Array verwendet wird.
Wenn das Byte-Array mit ASCII-Kodierung erstellt wurde, sollte es mit folgendem Befehl wieder in eine Zeichenfolge konvertiert werden:
<code class="language-csharp">string someString = Encoding.ASCII.GetString(bytes);</code>
Wenn die UTF8-Kodierung verwendet wird, ist die geeignete Methode zum Konvertieren eines Byte-Arrays in eine Zeichenfolge ebenfalls:
<code class="language-csharp">string someString = Encoding.UTF8.GetString(bytes);</code>
Durch die Identifizierung der zum Erstellen des Byte-Arrays verwendeten Codierung können Sie sicherstellen, dass die String-Konvertierung korrekt durchgeführt wird.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich Strings in C# richtig in Byte-Arrays und umgekehrt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!