Convertir une chaîne en tableau d'octets dans Golang

Jay Singh 30 janvier 2023
  1. Utilisation de la fonction byte() pour convertir une chaîne en tableau d’octets dans Golang
  2. Utilisation de []byte(strToConvert) pour convertir une chaîne en tableau d’octets dans Golang
  3. Utilisation de la fonction copy() pour convertir une chaîne en tableau d’octets dans Golang
  4. Utilisation de [] octet pour convertir une chaîne en tranche d’octet dans Golang
Convertir une chaîne en tableau d'octets dans Golang

Vous n’êtes pas seul si vous êtes nouveau sur Go et que vous vous demandez pourquoi il s’agit d’un tableau d’octets. Lorsque j’ai commencé à apprendre à Go, c’était l’une des premières choses qu’une connaissance en informatique m’a demandée.

Vous obtenez une tranche contenant les octets de la chaîne lorsque vous convertissez une chaîne en un tableau d’octets dans Golang. Une chaîne dans Go est juste une tranche d’octets en lecture seule. Une chaîne peut contenir n’importe quel nombre d’octets ; par conséquent, il est important de le dire tout de suite.

Le texte Unicode, le texte UTF-8 ou tout autre format spécifié n’est pas nécessaire. Une chaîne est identique à une tranche d’octets en termes de contenu.

Voici quelques conseils utiles pour travailler avec des chaînes dans Go.

Utilisation de la fonction byte() pour convertir une chaîne en tableau d’octets dans Golang

Utilisez la fonction byte() dans Golang pour convertir une chaîne en un tableau d’octets. Un octet est un entier non signé de 8 bits. Un tableau est renvoyé par la méthode byte(), qui prend une chaîne en entrée.

Lorsque vous créez une chaîne, vous créez en fait un tableau d’octets. Par conséquent, vous pouvez lire des octets individuels comme s’il s’agissait d’un tableau.

Le code suivant, par exemple, parcourt chaque octet d’une chaîne et le génère à la fois sous forme de chaîne et d’octet.

package main

import "fmt"

func main() {
	str := "hello boss!"
	data := []byte(str)
	fmt.Println(data)
}

Production:

[104 101 108 108 111 32 98 111 115 115 33]

Utilisation de []byte(strToConvert) pour convertir une chaîne en tableau d’octets dans Golang

Dans cet exemple, nous utiliserons []byte(strToConvert) pour convertir une chaîne en tableau d’octets dans Golang.

package main

import (
	"fmt"
)

func main() {
	var strToConvert string
	strToConvert = "hello boss!"
	byteString := []byte(strToConvert)
	fmt.Println(byteString)
}

Production:

[104 101 108 108 111 32 98 111 115 115 33]

Utilisation de la fonction copy() pour convertir une chaîne en tableau d’octets dans Golang

Dans cet exemple, la chaîne sera copiée dans un tableau d’octets à l’aide de la fonction copy(). En conséquence, nous avons déclaré un tableau d’octets et y avons copié la chaîne à l’aide de la fonction de copie.

package main

import (
	"fmt"
)

func main() {
	var strToConvert string
	strToConvert = "hello boss!"
	byteString := make([]byte, len(strToConvert))
	copy(byteString, strToConvert)
	fmt.Println(byteString)
}

Production:

[104 101 108 108 111 32 98 111 115 115 33]

Utilisation de [] octet pour convertir une chaîne en tranche d’octet dans Golang

Une chaîne peut être convertie en une tranche d’octet []byte dans Go, et une tranche d’octet peut être reconvertie en chaîne. C’est un processus simple qui semble être identique à tout autre type de changement.

Cette conversion est fréquemment utilisée pour alimenter une chaîne dans une fonction qui prend des tranches d’octets ou une tranche d’octets dans une fonction qui attend une chaîne.

package main

import "fmt"

func main() {
	var s string = "hello boss!"
	fmt.Println(s)
	var b []byte
	b = []byte(s)
	fmt.Println(b)
	for i := range b {
		fmt.Println(string(b[i]))
	}
	s = string(b)
	fmt.Println(s)
}

Production:

hello boss!
[104 101 108 108 111 32 98 111 115 115 33]
h
e
l
l
o
 
b
o
s
s
!
hello boss!

Article connexe - Go String