Solidity
如何在 Solidity 中將 uint 轉換為字節?
有沒有一種簡單的方法可以將 a 轉換
uint
為bytes
Solidity?
現在似乎有了,因為solidity 0.4.24版你可以使用abi.encodePacked
例如:
uint i = 0; i_bytes = abi.encodePacked(i);
@eth 答案的替代方法是使用彙編:
function toBytes(uint256 x) returns (bytes b) { b = new bytes(32); assembly { mstore(add(b, 32), x) } }
這明顯更節省氣體,但取決於 Solidity 編譯器使用的內部儲存器佈局。理論上,這在未來可能會發生變化,但實際上它應該是相當穩定的。