Le type d'octet dans Golang est un type de données très important, utilisé pour stocker des données binaires de 8 bits. Dans de nombreux cas, nous devons convertir le type d'octet afin que le traitement des données et les opérations puissent être effectués plus facilement. Cet article explique comment effectuer une conversion d'octets.
Dans Golang, vous pouvez utiliser la fonction string() pour convertir le type d'octet en chaîne. Les exemples sont les suivants :
package main import "fmt" func main() { b := []byte{'h','e','l','l','o'} s := string(b) fmt.Println(s) // 输出为 "hello" }
Vous pouvez également utiliser la fonction []byte() pour convertir une chaîne en octet taper. Un exemple est le suivant :
package main import "fmt" func main() { s := "hello" b := []byte(s) fmt.Println(b) // 输出为 [104 101 108 108 111] }
Nous pouvons utiliser la fonction int() pour convertir le type d'octet en un type entier. Un exemple est le suivant :
package main import "fmt" func main() { b := byte(255) i := int(b) fmt.Println(i) // 输出为 255 }
Il convient de noter que la plage de valeurs du type d'octet est comprise entre 0 et 255. Les valeurs en dehors de cette plage généreront des exceptions d'exécution.
Nous pouvons utiliser la fonction byte() pour convertir le type entier en type octet. Un exemple est le suivant :
package main import "fmt" func main() { i := 255 b := byte(i) fmt.Println(b) // 输出为 255 }
Il est à noter que si la valeur du type entier dépasse la plage de valeurs du type octet, seuls les 8 bits inférieurs seront pris.
Dans Golang, nous pouvons le faire en épissant deux éléments consécutifs du tableau d'octets dans un Make de type uint16 la conversion. Un exemple est le suivant :
package main import "fmt" func main() { b := []byte{0x12, 0x34} u := uint16(b[0])<<8 + uint16(b[1]) fmt.Println(u) // 输出为 4660 }
Il convient de noter que l'ordre des octets (big endian ou little endian) doit être pris en compte pendant le processus de conversion.
Vous pouvez également utiliser le type []byte pour convertir le type uint16 en tableau d'octets. Un exemple est le suivant :
package main import "fmt" func main() { u := uint16(4660) var b = make([]byte, 2) b[0] = byte(u >> 8) b[1] = byte(u) fmt.Println(b) // 输出为 [18 52] }
Il convient de noter que le processus de conversion doit également prêter attention au problème de l'ordre des octets.
Résumé
Cet article présente comment convertir le type d'octet, couvrant la conversion entre octet et chaîne, octet et int, tableau d'octets et uint16. Dans le développement réel, la conversion de type d'octet se produira souvent. La maîtrise des méthodes de conversion ci-dessus peut rendre le traitement des données et les calculs plus pratiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!