私が 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つだけではなく、それぞれ2と32が表示されます(明らかに配列には2つの要素しかありません)。
bytes memory encodedPack = abi.encodePacked(prefix, length, signedMessage)
また、このencodePacked
関数は、最後のバイト配列で長さの前に3を付加します。
ASCIIテーブルによると、3は「テキストの終わり」を表します。これはこの3の目的ですか?
Sprintf()
文字列を返します。文字列 "2"を出力していますが、ASCIIではです0x32
。
ここの3はテキストの終わりではありません。ASCIIテーブルを見ると、「0」から「9」0x30
までの文字がまでエンコードされていることがわかり0x39
ます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加