Maison >développement back-end >C++ >Comment convertir correctement des chaînes en tableaux d'octets et vice versa en C# ?

Comment convertir correctement des chaînes en tableaux d'octets et vice versa en C# ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-23 06:17:08124parcourir

How Do I Correctly Convert Strings to Byte Arrays and Vice Versa in C#?

Conversion de chaînes et de tableaux d'octets en C#

La conversion de chaînes en tableaux d'octets peut entraîner des problèmes lors de la migration du code de VB vers C#. Cela est particulièrement vrai lorsqu'il s'agit de propriétés d'objets renvoyés plutôt que de tableaux d'octets.

Considérez le code problématique suivant :

<code class="language-csharp">if ((searchResult.Properties["user"].Count > 0))
{
    profile.User = System.Text.Encoding.UTF8.GetString(searchResult.Properties["user"][0]);
}</code>

L'erreur rencontrée dans ce code vient de l'attente que la valeur de la propriété sera un tableau d'octets, alors qu'en fait il s'agit d'un objet. Afin de résoudre ce problème, il est important de comprendre en premier lieu le codage utilisé pour convertir la chaîne en tableau d’octets.

Si le tableau d'octets a été créé en utilisant le codage ASCII, il doit être reconverti en chaîne en utilisant :

<code class="language-csharp">string someString = Encoding.ASCII.GetString(bytes);</code>

De même, si le codage UTF8 est utilisé, la manière appropriée de convertir un tableau d'octets en chaîne est :

<code class="language-csharp">string someString = Encoding.UTF8.GetString(bytes);</code>

En identifiant l'encodage utilisé pour créer le tableau d'octets, vous pouvez vous assurer que la conversion de chaîne est effectuée correctement.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn