javascript - 在 javascript 中将十六进制转换为 32 float

标签 javascript php

我在 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/

相关文章:

JavaScript:构造函数与原型(prototype)

javascript - 正则表达式不匹配

php - Laravel 显示 'index of/' 页面

javascript - 从 javascript 访问 qml 元素

javascript - wrappedComponentRef 未定义 - React Ant Design,表单组件

javascript - 表单输入显示图像而不是文本值

php - 登录表单 > 叠加层因表单错误而关闭

php - Postgres - 从数组中选择元素

php - 在 PHP 中防止目录遍历但允许路径

javascript - 使用 PHP 设置 Javascript 变量