如果我在 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的目的吗?
萧十郎
相关分类