请教string编码的问题

gugolang · · 1402 次点击
目標樣式是用那種編碼?
#1
更多评论
jan-bar
想要拥有,必定付出。
一开始我也以为是啥编码,结果就是把rune换成2个字节数据,参照如下代码 ```go package main import ( "fmt" ) func main() { str := "你好golang" r := transform(str) fmt.Printf("%v\n", r) } func transform(s string) []byte { res := make([]byte, 0, len(s)*2) for _, r := range s { res = append(res, byte(r), byte(r>>8)) } return res } ``` 结果:[96 79 125 89 103 0 111 0 108 0 97 0 110 0 103 0]
#2
谢谢大佬 后来我也是这样手动处理的 但会有黄线提示 should range over string, not []rune(string) (S 1029) 之后又找到个办法 ``` bs_UTF16LE, _, _ := transform.Bytes(unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM).NewEncoder(), []byte(str)) ```
#3