[Go 语言社区]测试模块之---utf8例子

时间:2022-05-04
本文章向大家介绍[Go 语言社区]测试模块之---utf8例子,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
package main
import (
    "code.google.com/p/mahonia"
    "fmt"
)
func main() {
    //"你好,世界!"的GBK编码
    testBytes := []byte{0xC4, 0xE3, 0xBA, 0xC3, 0xA3, 0xAC, 0xCA, 0xC0, 0xBD, 0xE7, 0xA3, 0xA1}
    var testStr string
    utfStr := "你好,世界!"
    var dec mahonia.Decoder
    var enc mahonia.Encoder
    testStr = string(testBytes)
    dec = mahonia.NewDecoder("gbk")
    if ret, ok := dec.ConvertStringOK(testStr); ok {
        fmt.Println("GBK to UTF-8: ", ret, " bytes:", testBytes)
    }
    enc = mahonia.NewEncoder("gbk")
    if ret, ok := enc.ConvertStringOK(utfStr); ok {
        fmt.Println("UTF-8 to GBK: ", ret, " bytes: ", []byte(ret))
    }
    return
}