Dupliqué possible: strong>
.NET String to Byte Array C # P> blockQuote>Comment convertir la chaîne en byte [] tableau et vice versa? J'ai besoin de strings pour être stockés dans un stockage binaire. Veuillez indiquer un exemple dans les deux directions. Et une autre chose: chaque chaîne peut-être plus grande que 90 kb. P>
4 Réponses :
Si vous souhaitez utiliser l'encodage UTF-8:
// string to byte[] byte[] bytes = Encoding.UTF8.GetBytes(someString); // byte[] to string string anotherString = Encoding.UTF8.GetString(bytes);
Avant de partir et utilisez l'un des exemples déjà donnés, vous devez savoir qu'il existe, en général, aucun mappage unique entre une chaîne et une séquence d'octets. Comment la chaîne est mappée sur binaire (et inversement) est déterminée par le coding que vous utilisez. Joel Spolsky a écrit un Article génial sur ce sujet. P>
Lors du décodage binaire pour obtenir une chaîne, vous devez utiliser le même encodage que celui utilisé pour produire le binaire en premier lieu, sinon vous rencontrez des problèmes. P>
Cette question a une réponse acceptée plutôt trompeuse, en fonction du comportement de la sortie de sérialisation d'exécution, ce qui n'est certainement pas compatible entre la langue. Par conséquent, je ne vais pas voter pour fermer comme un duplicata. L'utilisation d'un codage approprié, comme UTF-8, est une approche bien meilleure.
@CDHOWIE: D'accord. "Plutôt trompeur" est une façon polie de la mettre. :)
Vraisemblablement, c'est pourquoi il y a une meilleure réponse avec des votes supérieurs juste en dessous.