Convertir une chaîne en tableau d'octets en C#
Vous pouvez rencontrer des problèmes de syntaxe lorsque vous essayez de convertir une chaîne en tableau d'octets en C#. Explorons un cas spécifique et sa solution.
Question :
Essayer de convertir la valeur de propriété d'un objet VB en un tableau d'octets C# entraîne l'erreur :
<code>Argument 1: cannot convert from 'object' to 'byte[]'</code>
Solution :
Pour convertir avec succès une valeur d'attribut, vous devez connaître l'encodage utilisé dans la conversion d'origine. Par exemple :
<code class="language-csharp">byte[] bytes = System.Text.Encoding.ASCII.GetBytes(originalString); string encodedString = System.Text.Encoding.ASCII.GetString(bytes);</code>
Si vous ne connaissez pas l'encodage utilisé, vous pouvez examiner le code hérité à la recherche d'indices. La classe System.Text.Encoding
fournit divers encodages, notamment ASCII, UTF8, Unicode et UTF32. Consultez la documentation pour une liste complète.
Veuillez noter que le code que vous avez fourni :
<code class="language-csharp">string User = Encoding.UTF8.GetString("user", 0);</code>
est faux car il essaie de convertir une chaîne en tableau d'octets sans aucune donnée réelle à convertir. Dans l'instruction VB fournie, searchResult.Properties["user"][0]
est un objet contenant un tableau d'octets, auquel il faut accéder et convertir de manière appropriée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!