Nodejs

如何使用 Node.js 將 uint 轉換為 64 字節的十六進製字元串?

  • June 4, 2019

先生,如果我的 uint 是 10,如何使用 Node.js 將 10 轉換為 ‘0x0000000000000000000000000000000000000000000000000000a’?並將其從 ‘0x00000000000000000000000000000000000000000000000000000000000000000a’ 反轉為 uint 10 ?

先生,如果我的 uint 是 10,如何使用 Node.js 將 10 轉換為 ‘0x0000000000000000000000000000000000000000000000000000a’?

您可以使用web3.toHex(number)將十進制數轉換為十六進制,然後使用web3.utils.padLeft("0x0abcdef", 64)將十六進製字元串格式化為 64 字節長度的十六進制

https://web3js.readthedocs.io/en/1.0/web3-utils.html#padleft

並將其從 ‘0x00000000000000000000000000000000000000000000000000000000000000000a’ 反轉為 uint 10 ?

只需簡單地使用web3.toDecimal()函式將任何十六進製字元串轉換為十進制

知道了。我的例子是:

var a = 10
console.log(a); //output :10
var b = web3.utils.toHex(a);  
console.log(b); //output :0xa
var c = web3.utils.padLeft(b, 64);
console.log(c);  //output :0x000000000000000000000000000000000000000000000000000000000000000a
var d = web3.utils.toDecimal(c)
console.log(d); //output :10

引用自:https://ethereum.stackexchange.com/questions/61624