【发布时间】:2022-12-19 11:32:36
【问题描述】:
我一直在尝试在 Go 中将 []kafka.Header 转换为 int。到目前为止,我已经尝试了很多方法。
其中一些是:
- 将字节数组转换为字符串,然后转换为 int -
string(header.Value) - 将第一个字节转换为字符串,然后转换为 int -
string(header.Value[0]) - 将第一个字节转换为 int -
int(header.Value[0]) - 使用 strconv 将字节数组转换为 int -
strconv.Atoi(string(header.Value)) - 使用 10 进制和 16 进制解析的自定义函数
但是到目前为止,所有的方法要么导致了错误,要么导致了不正确的转换。
错误消息的快照:
- 错误:strconv.Atoi:解析“\x01\x00\x00\x00”:语法无效
- 编码/十六进制:无效字节:U+0001
输入是这样的(ASCII 中的单个十六进制字节)-headers: [requestNum="\x01\x00\x00\x00" retryNum="\x1c\x00\x00\x00" retryDelaySecs="@\x01\x00\x00"]
预期输出是它们的 int 等价物,即 1、28、320
随时询问更多信息。 如果有任何建议,请帮助我。提前致谢。
【问题讨论】:
标签: go apache-kafka confluent-kafka-go