J'ai le code suivant:
StringBuilder data = new StringBuilder();
for (int i = 0; i < bytes1; i++)
{
data.Append("a");
}
byte[] buffer = Encoding.ASCII.GetBytes(data);
Mais je reçois cette erreur:
cannot convert from 'System.Text.StringBuilder' to 'char[]' The best overloaded method match for 'System.Text.Encoding.GetBytes(char[])' has some invalid arguments
Le code suivant résoudra votre problème.
StringBuilder data = new StringBuilder();
for (int i = 0; i < bytes1; i++)
{ data.Append("a"); }
byte[] buffer = Encoding.ASCII.GetBytes(data.ToString());
Le problème est que vous passez un StringBuilder
à la fonction GetBytes
lorsque vous devez passer le résultat de chaîne à partir du StringBuilder
.
GetBytes n'accepte pas un StringBuilder comme paramètre. Utilisez une chaîne avec data.ToString ()
byte[] buffer = Encoding.ASCII.GetBytes(data.ToString());
ASCII n'est pas un bon choix d'encodage pour le texte de ce siècle. Les applications Web et mobiles devraient au moins utiliser UTF-8, et tout autre type d'application censé fonctionner dans un environnement commercial ou de réseau social mondialisé devrait également l'être.
StringBuilder builder = new StringBuilder();
for (int i = 0; i < iLength; ++ i)
builder.Append("a");
byte[] bytesFromBuilder = Encoding.UTF8.GetBytes(builder.ToString());
Veuillez essayer ceci. StringBuilder est un objet .. à partir de là, vous devez obtenir la valeur de chaîne comme suit.
byte[] buffer = Encoding.ASCII.GetBytes(data.ToString());
essaye ça:
byte[] buffer = Encoding.ASCII.GetBytes(data.ToString().ToCharArray());