bytes.Split() 如何处理从 UTF-8 字符串转换而来的字节?

$ cat main.go 

#!/usr/bin/env gorun

// vim: set noexpandtab tabstop=2:


package main


import (

    "fmt"

    "os"

    "bytes"

)


func main() {

    fmt.Printf("%q\n", bytes.Split([]byte(os.Args[1]), []byte(os.Args[2])))

}

$ ./main.go 程序 ''

["程" "序"]

我希望main.go每个 UTF-8 字符打印多个字节。但它只打印两个 UTF-8 字符程和序。


有人可以帮助我理解为什么会这样吗?谢谢。


潇潇雨雨
浏览 87回答 1
1回答

明月笑刀无情

如果 sep 为空,则 Split 在每个 UTF-8 序列后进行分割。因此,尽管确实bytes.Split可以让您在任意点进行分割并将 UTF-8 序列分开,但使用分隔符调用它[]byte("")不会这样做。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go