Encodage Unicode brut : un guide pour le rendre lisible
De nombreuses réponses d'API Web contiennent des données JSON qui utilisent un encodage Unicode brut. Bien que ce format puisse être difficile à déchiffrer, il peut être rendu lisible avec la bonne approche.
Le défi :
Lorsqu'une API Web renvoie une telle réponse, affichant le corps sous forme de texte en utilisant des méthodes telles que fmt.Println() entraîne un contenu ASCII illisible. Les tentatives d'analyse du contenu à l'aide de bufio.ScanRunes échouent également.
La solution : décodage Unicode
Pour décoder l'encodage Unicode brut et rendre le contenu lisible, nous vous recommandons d'utiliser un décodeur JSON. L'exemple de code fourni montre comment cela peut être réalisé :
func main() { var i interface{} err := json.Unmarshal([]byte(`<RESPONSE_BODY>`), &i) fmt.Println(err, i) }
En désorganisant le corps de la réponse dans une interface{}, le décodeur JSON convertit automatiquement les échappements Unicode en leurs caractères respectifs.
Approche alternative : décodage manuel
Si vous préférez une approche plus directe, vous pouvez décoder des fragments spécifiques de la chaîne codée Unicode manuellement à l'aide de la fonction strconv.Unquote() :
fmt.Println(strconv.Unquote(`"\u7d20\u672a\u8c0b"`))
N'oubliez pas de mettre la chaîne codée Unicode entre guillemets doubles lorsque vous utilisez strconv.Unquote(), et assurez-vous d'utiliser raw des littéraux de chaîne pour empêcher le compilateur d'interpréter le s'échappe.
Conclusion :
En employant les techniques décrites ci-dessus, vous pouvez décoder efficacement le contenu brut codé en Unicode et le rendre lisible. Cela ouvre la possibilité d'un traitement et d'une analyse ultérieurs des données JSON récupérées.
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!