在linux的messages日志里面 有一些中文日志,查看的时候是一堆\数字 如下图![2017-08-11 16-40-16屏幕截图.png](http://studygolang.qiniudn.com/170811/aa7d3913d0526a9f40940513ffa0b1a1.png)
用linux命令printf ‘%b\n’ 可以直接转换成中文,但是在golang中不知道怎么实现。望大神们指点一二
一样的,只要是能满足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