如何将一串转义序列转换为字节?

创建一个需要处理一些数据的 TCP 服务器。我有一个 net.Conn 实例“连接”,我将从中读取所述数据。代码段的下半部分会出现一个错误,指出它不能将“esc”值用作字节值。


const(

esc = "\a\n"

 )

....

c := bufio.NewReader(connection)

data, err := c.ReadBytes(esc)

显然,需要进行一些转换,但是当我尝试


 const(

esc = "\a\n"

 )

....

c := bufio.NewReader(connection)

data, err := c.ReadBytes(byte(esc))

编译器注意到我无法将 esc 转换为字节。是因为我在包级别将“\a\n”声明为常量值吗?或者是否有其他总体上与我如何构建要读取的字节有关的东西?


POPMUISE
浏览 81回答 1
1回答

慕妹3146593

您无法转换esc为,byte因为您无法将字符串转换为单个字节。您可以将字符串转换为字节切片 ( []byte)。仅支持单bufio.Reader字节定界符,您应该使用bufio.Scanner带有自定义拆分功能的 来代替多字节定界符。也许是https://stackoverflow.com/a/37531472/1205448的修改版本
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go