Solidity
如何將bytes32轉換為字元串
如何將 a 轉換
bytes32
為 astring
?有沒有人有一個神奇的功能或圖書館呢?
基於最新的編譯器版本 0.4.24,我使用如下。
function convertingToString()public returns(string){ bytes32 memory hw = "Hello World"; string memory converted = string(hw); return converted; }
使用顯式轉換來執行它。反過來也是可能的。
對於 0.5.0+ 版本,請使用(從 0.5 到 0.7.2 測試 - 它很可能會在 0.7.2 之後繼續工作):
function bytes32ToString(bytes32 _bytes32) public pure returns (string memory) { uint8 i = 0; while(i < 32 && _bytes32[i] != 0) { i++; } bytes memory bytesArray = new bytes(i); for (i = 0; i < 32 && _bytes32[i] != 0; i++) { bytesArray[i] = _bytes32[i]; } return string(bytesArray); }