package main import ( "fmt" "unicode/utf8" ) func main() { b := []byte("你好") sz := 0 var r rune for i := 0; i < len(b); { r, sz = utf8.DecodeRune(b[i:]) i += sz fmt.Println(r, sz, i, string(r)) } // fmt.Println(len(b)) }