Ces dernières années, le langage Go (golang) est devenu de plus en plus populaire parmi les programmeurs. En tant que langage de programmation général, il prend en charge divers types et structures de données comme les autres langages. Golang possède également des fonctionnalités puissantes lors du traitement des chaînes. Cet article se concentrera sur la façon d'implémenter la fonction d'encodage de chaîne dans Golang.
Dans la bibliothèque intégrée de Golang, il existe un package appelé encoding, qui prend en charge de nombreux encodages et décodages de chaînes. Lorsqu'il s'agit de codage de chaînes, le plus important est de comprendre le concept de codage de caractères. Le codage de caractères a été introduit pour convertir les caractères utilisés par les humains en valeurs binaires que les ordinateurs peuvent comprendre et traiter. Une application importante du codage de caractères consiste à résoudre les problèmes d’affichage et de stockage des caractères dans différents environnements linguistiques.
En Golang, les codages de caractères courants incluent ASCII, UTF-8, UTF-16, GBK, GB2312, etc. Ci-dessous, nous présenterons la méthode d'implémentation de conversion de chaîne une par une.
ASCII (American Standard Code for Information Interchange) est un codage de caractères binaires à sept bits. Il s’agit de l’un des codages de caractères les plus anciens et les plus basiques, contenant uniquement des lettres anglaises, des chiffres et quelques signes de ponctuation. En golang, le codage ASCII est largement utilisé et nous pouvons l'utiliser directement dans les chaînes.
Par exemple, pour convertir une chaîne en codage ASCII, le code est le suivant :
package main import ( "fmt" ) func main() { str := "hello world" strAscii := []byte(str) // 转为 ASCII 编码 fmt.Println(strAscii) // [104 101 108 108 111 32 119 111 114 108 100] }
UTF-8 (UCS Transfer Format-8) est un codage de caractères de longueur variable qui prend en charge tous caractère unicode. Dans Golang, l'encodage UTF-8 est la méthode d'encodage utilisée par défaut. Vous pouvez utiliser directement les fonctions de la bibliothèque intégrée de Golang, par exemple :
package main import ( "fmt" ) func main() { str := "UTF-8编码测试" strUtf8 := []byte(str) // 转为 UTF-8 编码 fmt.Println(strUtf8) // [85 84 70 45 56 231 154 132 49 229 133 172 229 143 184 227 131 163] }
UTF-16 est de longueur fixe. codage des caractères. Utilisez 2 octets pour représenter chaque caractère Unicode, généralement utilisé en chinois, japonais, coréen et autres langues asiatiques. Dans Golang, vous pouvez convertir entre les chaînes et l'encodage UTF-16 en utilisant le package d'encodage intégré, par exemple :
package main import ( "fmt" "unicode/utf16" ) func main() { str := "中国加油" strUtf16 := utf16.Encode([]rune(str)) // 转为 UTF-16 编码 fmt.Println(strUtf16) // [20013 22269 39532 32423] }
GBK est un jeu de caractères étendu pour l'encodage de caractères chinois, principalement pour le champ chinois. Par rapport au codage de caractères chinois GB2312 d'origine, GBK ajoute davantage de jeux de caractères pour prendre en charge un plus large éventail d'environnements linguistiques. Dans Golang, vous pouvez convertir entre les chaînes et l'encodage GBK en utilisant le package d'encodage intégré, par exemple :
package main import ( "fmt" "golang.org/x/text/encoding/simplifiedchinese" ) func main() { str := "我的世界" strGbk, _ := simplifiedchinese.GBK.NewEncoder().Bytes([]byte(str)) // 转为 GBK 编码 fmt.Println(strGbk) // [25105 30340 19978 30028] }
Grâce aux exemples ci-dessus, nous pouvons savoir qu'il est très facile d'implémenter la fonction d'encodage de chaîne dans Golang. En plus des méthodes d'encodage ci-dessus, golang prend également en charge diverses autres méthodes d'encodage, telles que base64, etc. Pour les programmeurs Golang, apprendre ces choses est indispensable afin d’avoir un meilleur aperçu des connaissances liées aux chaînes.
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!