一个 32 字节的地址如何表示超过 32 个字符?
How can a 32 bytes address represent more than 32 characters?
我刚开始学习 solidity 和 coding 一般,我倾向于看到这样的东西:
Click for image
我对“32 字节散列”如何包含超过 32 个字符(即使在“0x000”之后)感到困惑。我的印象是每个字节都可以代表一个字符。我也经常看到参考资料,说“32 字节地址(64 字节十六进制地址)”之类的话。但是,如果 64 字节的十六进制地址是 32 字节的地址,那么如何表示它——每个字符还需要一个字节吗?我知道这可能是一个 stupid/noob 问题,我可能遗漏了一些明显的东西,但我不太明白。
一个字节的二进制范围为 00000000 - 11111111,十六进制范围为 0x00 - 0xFF。如您所见,一个字节以十六进制表示为 2 个字符的字符串。因此,一个 32 字节的十六进制字符串的长度为 64 个字符。
32位地址指向32、64、1000或1亿个连续字节的第一个字节。所有其他跟随或存储在地址 +1、+2、+3...
我刚开始学习 solidity 和 coding 一般,我倾向于看到这样的东西:
Click for image
我对“32 字节散列”如何包含超过 32 个字符(即使在“0x000”之后)感到困惑。我的印象是每个字节都可以代表一个字符。我也经常看到参考资料,说“32 字节地址(64 字节十六进制地址)”之类的话。但是,如果 64 字节的十六进制地址是 32 字节的地址,那么如何表示它——每个字符还需要一个字节吗?我知道这可能是一个 stupid/noob 问题,我可能遗漏了一些明显的东西,但我不太明白。
一个字节的二进制范围为 00000000 - 11111111,十六进制范围为 0x00 - 0xFF。如您所见,一个字节以十六进制表示为 2 个字符的字符串。因此,一个 32 字节的十六进制字符串的长度为 64 个字符。
32位地址指向32、64、1000或1亿个连续字节的第一个字节。所有其他跟随或存储在地址 +1、+2、+3...