请教一个关于string.format和string.hex的字节序问题

netfox 8天前 136

import console; 

var str =string.toUnicode("句柄");

for(i=1;#str/2;1){  

    console.log(string.format("%X", str[i])) 

    console.log(string.hex(str[[i]]),"")

   //console.log(string.hex(string.reverse(str[[i]]),""))

}

console.pause(true);

最新回复 (2)
  • 光庆 6天前
    0 2

    string.format 是按代码书写方式,将数值格式化为一个可读的字符串,字节从高到低,比如4字节的整数1,我们按十六进制写法,是这样写的 0x00000001,也就是0x01、0x1。 

    string.hex 是把一个字符串的每个字节,按其在内存中的排列顺序,从低到高组合成字符串,比如4字节的整数1,hex为 01 00 00 00。

    所以看起来顺序是反的,根本原因是两种方式不是一回事。

  • netfox 6天前
    0 3
    光庆 string.format 是按代码书写方式,将数值格式化为一个可读的字符串,字节从高到低,比如4字节的整数1,我们按十六进制写法,是这样写的 0x00000001,也就是0x01、0x1。& ...

    还得是大佬才能解释得清楚,非常感谢,感谢光庆

返回