2010-07-30 4 views

Répondre

108

Si vous êtes à la recherche d'une conversion, il suffit de faire byteArray := []byte(myString)

Les détails de spécification de la langue des conversions entre les chaînes et certains types de tableaux (octets pour les octets, int pour les points Unicode)

+0

Merci, c'était facile :) –

+14

Je pense que cthom06 réalise cela, mais ce n'est pas, à proprement parler, un tableau d'octets "ASCII". C'est plus comme un tableau d'octets UTF-8. Si la chaîne contenait des caractères non ASCII, les octets de ces caractères seront également présents. Si vous voulez que votre code fonctionne bien avec différentes langues, c'est quelque chose que vous devriez toujours garder à l'esprit. –

+1

@Chickencha c'est vrai. J'ai en quelque sorte donné la réponse rapide et sale. Mais j'ai mentionné la conversion [] int pour une meilleure gestion de l'Unicode. – cthom06

8

Vous ne pouvez pas avoir besoin faire n'importe quoi. Si vous ne devez lire des octets d'une chaîne, vous pouvez le faire directement:

c := s[3] 

La réponse de cthom06 vous donne une tranche d'octets vous pouvez manipuler:

b := []byte(s) 
b[3] = c 

Ensuite, vous pouvez créer une nouvelle chaîne de la tranche d'octets modifiée si vous le souhaitez:

s = string(b) 

Mais vous avez mentionné ASCII. Si votre chaîne est ASCII pour commencer, alors vous avez terminé. S'il contient autre chose, vous avez plus à traiter et vous pouvez publier une autre question avec plus de détails sur vos données.

Questions connexes