我在 php 中有这个函数,可以在 php 中将十六进制转换为 32 float 。你如何在 Javascript 中做到这一点
public static function hexTo32Float($val)
{
$packed=pack("H*",$val);
$reversedpac=strrev($packed);
$unpack=unpack( "f",$reversedpac);
return array_shift($unpack);
}
最佳答案
使用 TypedArray 怎么样(它只适用于最近的浏览器)?
var intData = Uint32Array(1);
intData[0] = parseInt("42458c14", 16);
var dataAsFloat = new Float32Array(intData.buffer);
var result = dataAsFloat[0];
// result == 49.38679504394531
编辑(一年后...):结果似乎确实取决于您的 CPU 是大印度还是小印度。使用时要小心。
关于javascript - 在 javascript 中将十六进制转换为 32 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20948640/