Maison  >  Article  >  développement back-end  >  octet 转chaîne golang

octet 转chaîne golang

WBOY
WBOYoriginal
2023-05-10 13:24:391386parcourir

Dans Golang, le type octet est un type de données primitif, généralement utilisé pour représenter des données à un seul octet, telles que des flux d'octets, des fichiers, etc. Le type chaîne est un type composite utilisé pour représenter des chaînes. Lorsque nous devons convertir des données de type octet en type chaîne, nous pouvons utiliser la fonction de conversion de la bibliothèque standard Golang.

1. Deux façons de convertir un octet en chaîne

Dans Golang, il existe deux façons de convertir un tableau d'octets en type chaîne, à savoir en utilisant le package strconv et en utilisant la méthode string().

  1. Utiliser le package strconv

Le package strconv est l'une des bibliothèques standard pour la conversion de type dans Golang. La fonction string() qu'il contient peut convertir un tableau d'octets en un type de chaîne. L'utilisation est la suivante :

package main

import (
    "fmt"
    "strconv"
)

func main() {
    bytes := []byte{97, 98, 99, 100, 101} // a b c d e
    str := string(bytes)
    fmt.Println("str: ", str) // 输出:str: abcde

    str2 := strconv.Itoa(12345)
    fmt.Println("str2: ", str2) // 输出:str2: 12345
}

Dans le code ci-dessus, nous définissons un tableau de type octet, le convertissons en une variable de type chaîne str et affichons sa valeur. De plus, nous avons également utilisé la fonction Itoa() du package strconv pour convertir le type entier en type chaîne et afficher sa valeur.

  1. Utilisez la méthode string()

Dans Golang, le type de chaîne lui-même est en fait le type d'empaquetage du tableau d'octets, utilisez donc la méthode string() pour convertir le tableau d'octets en chaîne. L'utilisation est la suivante :

package main

import (
    "fmt"
)

func main() {
    bytes := []byte{97, 98, 99, 100, 101} // a b c d e
    str := string(bytes)
    fmt.Println("str: ", str) // 输出:str: abcde
}

Dans le code ci-dessus, nous définissons également un tableau de type octet, le convertissons en une variable de type chaîne str et affichons sa valeur. La méthode string() est utilisée ici pour la conversion.

2. Conversion entre tableaux d'octets et chaînes

En plus de convertir des données d'octets individuelles en chaînes, nous pouvons également convertir des tableaux contenant plusieurs données d'octets en chaînes, ou convertir des chaînes en tableaux d'octets.

  1. tableau d'octets en chaîne

Pour convertir un tableau d'octets en chaîne, vous pouvez utiliser les deux méthodes présentées ci-dessus. Le code est implémenté comme suit :

package main

import (
    "fmt"
)

func main() {
    bytes := []byte{97, 98, 99, 100, 101} // a b c d e
    str := string(bytes)
    fmt.Println("str: ", str) // 输出:str: abcde
}
  1. chaîne en tableau d'octets

Convertir une chaîne en tableau d'octets, vous devez utiliser la fonction []byte() dans la bibliothèque standard Golang. L'utilisation est la suivante :

package main

import (
    "fmt"
)

func main() {
    str := "hello world"
    bytes := []byte(str)
    fmt.Println("bytes: ", bytes) // 输出:bytes: [104 101 108 108 111 32 119 111 114 108 100]
}

Dans le code ci-dessus, nous définissons d'abord une variable de chaîne, la convertissons en un tableau d'octets et affichons sa valeur.

3. Précautions

Lors du processus d'utilisation d'octets en chaîne, vous devez faire attention aux problèmes suivants :

  1. Caractères chinois

Étant donné que les caractères chinois peuvent occuper plusieurs octets, lors de la conversion de tableaux d'octets en chaînes, vous besoin de déterminer le format de codage du tableau d’octets. Par exemple, sous le codage UTF-8, les caractères chinois occupent généralement 3 octets. Par conséquent, vous devez faire attention au format d’encodage et à la longueur des caractères pendant le processus de conversion.

  1. La longueur de la chaîne d'origine et de la nouvelle chaîne

Lorsque vous utilisez la méthode string() pour la conversion, vous devez faire attention à la longueur de la chaîne d'origine et de la nouvelle chaîne si la chaîne d'origine contient des caractères NULL. ('

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:organigramme GolangArticle suivant:organigramme Golang