首页 > 解决方案 > Golang unicode 字符值

问题描述

我运行此代码并获得输出,但为什么字节值是 E4B8AD 而 int 值是 20013。为什么第 2 列不等于第 5 列?

包主

import(
    "fmt"
)

func main(){

    str2 := "中文"

    fmt.Println("index int(rune) rune char bytes")
    for index, rune := range str2{
        fmt.Printf("%-2d      %d       %U '%c' %X\n", index, rune, rune, rune, []byte(string(rune)))
    }
}

输出是:

index int(rune) rune char bytes
0      20013       U+4E2D '中' E4B8AD
1      25991       U+6587 '文' E69687

标签: gounicode

解决方案



推荐阅读