Écrire une chaîne sur un tableau d'octets de longueur fixe en C #
en quelque sorte ne pouvais pas trouver cela avec une recherche google, mais je pense que ça doit être simple...j'ai besoin de convertir une chaîne de caractères de longueur fixe tableau d'octets, par exemple, écrire "asdf" à un byte[20]
tableau. les données sont envoyées sur le réseau à un c++ application qui s'attend à une zone de longueur fixe, et il fonctionne très bien si j'utilise un BinaryWriter
et écrire les caractères un par un, et le pad en écrivant '\0' le bon nombre de fois.
est-il une meilleure manière de faire cela?
source d'informationauteur toasteroven
Vous devez vous connecter pour publier un commentaire.
Comment sur
C'est une façon de le faire:
Vous pouvez utiliser L'encodage.GetBytes.
Avec le code unsafe peut-être?
(les octets de la mémoire tampon par défaut est 0, mais vous pouvez toujours zéro manuellement)
Et juste pour être complet, LINQ:
De variation, cet extrait élit également à la fonte de caractères Unicode directement au format ASCII, depuis les 127 premiers caractères Unicode sont définis pour correspondre au format ASCII.
FieldOffset, peut-être?
(c) http://www.developerfusion.com/article/84519/mastering-structs-in-c/