请教golang怎么把utf8编码转成字符

mking · · 3349 次点击
一样的,只要是能满足io.Reader interface的,不管是从文件读取,还是从内存读取: bs := bufio.NewReader(s) 改为 bs := bufio.NewReader(bytes.NewReader(b)) 或 bs := bufio.NewReader(strings.NewReader(s)) b为[]byte, s为string,应该是你说的变量 或者直接是: bs := bytes.NewBuffer(b) 或 bs := bytes.NewBufferString(s)
#10
更多评论
UTF-8的八进制表示,go天生就支持的,直接fmt.Printf("%s") package main import ( "fmt" ) func main() { s := "\346\200\241\347\276\244" fmt.Printf("%s, %x, %o\n", s, s, []byte(s)) for i, r := range s { fmt.Printf("start index:%v, rune:%#U\n", i, r) } } https://golang.org/ref/spec#Rune_literals
#1
怡群, e680a1e7bea4, [346 200 241 347 276 244] start index:0, rune:U+6021 '怡' start index:3, rune:U+7FA4 '群'
#2