Conversion StringBuilder et byte
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 j'obtiens 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
5 réponses
le code suivant corrigera 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
GetBytes
fonction lorsque vous avez besoin de passer la chaîne à partir de la StringBuilder
.
GetBytes n'accepte pas un éditeur de texte comme paramètre. Utiliser une chaîne de caractères avec des données.ToString ()
byte[] buffer = Encoding.ASCII.GetBytes(data.ToString());
s'il vous Plaît essayer cette. StringBuilder est objet.. de là, vous devez obtenir la valeur de chaîne de caractères comme suit.
byte[] buffer = Encoding.ASCII.GetBytes(data.ToString());
essaye ceci:
byte[] buffer = Encoding.ASCII.GetBytes(data.ToString().ToCharArray());
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 L'UTF-8, et tout autre type d'application qui est censé fonctionner dans un environnement d'affaires ou de réseautage social mondialisé devrait aussi.
StringBuilder builder = new StringBuilder();
for (int i = 0; i < iLength; ++ i)
builder.Append("a");
byte[] bytesFromBuilder = Encoding.UTF8.GetBytes(builder.ToString());