为了账号安全,请及时绑定邮箱和手机立即绑定

为什么将无符号整数转换为字节数组形式的前缀为“3”的字符串?

为什么将无符号整数转换为字节数组形式的前缀为“3”的字符串?

Go
jeck猫 2023-05-15 10:27:57
如果我在 golang 中执行以下操作:data := []byte{}data = append(data, '1')data = append(data, '2')fmt.Printf("%d\n", len(data))fmt.Printf("%x\n", fmt.Sprintf("%d", len(data)))我分别得到 2 和 32,而不是两行都只有 2(显然数组只有两个元素)。如果我做一些类似的事情:bytes memory encodedPack = abi.encodePacked(prefix, length, signedMessage)该encodePacked函数还在最终字节数组中的长度前加上 3。根据 ASCII 表,3 表示“文本结束”。这是这个3的目的吗?
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

Sprintf()返回一个字符串。您正在打印 ASCII 中的字符串“2” 0x32

这里的 3 不是文本结尾。如果查看 ASCII 表,您会注意到字符“0”到“9”被编码为 un 0x30til 0x39


查看完整回答
反对 回复 2023-05-15
  • 1 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信