Maison >développement back-end >C++ >Comment puis-je convertir correctement des chaînes en tableaux d'octets et vice versa en C# ?
Dépannage des conversions de tableaux de chaînes-octets en C#
Les développeurs C# rencontrent souvent des problèmes de syntaxe lors de la conversion de chaînes en tableaux d'octets et vice-versa, en particulier lors des migrations de langage (par exemple, VB.NET vers C#). Ce guide aide à résoudre les erreurs courantes dans ces conversions.
Le problème : un encodage incorrect
Un problème fréquent provient d'un encodage incompatible. Si un tableau d'octets a été créé à l'aide d'un codage spécifique (comme ASCII ou UTF-8), la méthode de décodage correspondante doit être utilisée pour le reconvertir en chaîne. L’utilisation d’un mauvais encodage entraînera une sortie tronquée ou incorrecte.
La solution : un codage cohérent
La clé est de maintenir la cohérence. Si le tableau d'octets a été créé en utilisant Encoding.ASCII
, utilisez Encoding.ASCII.GetString()
pour la conversion inverse :
<code class="language-csharp">string someString = Encoding.ASCII.GetString(bytes);</code>
De même, pour UTF-8 :
<code class="language-csharp">string someString = Encoding.UTF8.GetString(bytes);</code>
Choisir le bon encodage
C# propose différents encodages (ASCII, UTF-8, Unicode, UTF-32). Examinez attentivement le code qui a initialement créé le tableau d'octets pour identifier le codage utilisé. Si ces informations ne sont pas disponibles, vous devrez peut-être expérimenter différentes Encoding
options jusqu'à ce que la chaîne correcte soit produite.
Bonnes pratiques
En comprenant et en appliquant systématiquement le codage correct, vous pouvez convertir de manière fiable entre les chaînes et les tableaux d'octets dans vos applications C#.
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!