You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求可批量将float32数值列表转换为十六进制的脚本或工具

批量将Float32数值转十六进制的简易方案

方法一:直接用HxD批量导入(最省心,无需额外工具)

你正在使用的HxD本身就支持批量处理,步骤如下:

  1. 把所有需要转换的float数值一行一个复制到记事本,保存为纯文本文件(比如命名为vertex_values.txt)
  2. 打开HxD并定位到模型文件中需要替换的位置
  3. 点击顶部菜单栏的「编辑」→「导入」→「文本文件」
  4. 在弹出窗口中:
    • 选中你保存的vertex_values.txt
    • 「数据类型」选择32-bit float (IEEE 754)
    • 「字节顺序」选择Big-Endian (Motorola)(和你给出的示例格式匹配;如果游戏内不生效,可换成Little-Endian重试)
  5. 点击确定,HxD会自动将所有数值转换为十六进制并插入到当前光标位置

方法二:极简Python脚本(适合自定义格式需求)

如果你需要生成纯字符串格式的十六进制结果,复制以下代码即可使用,无需懂编程:

# 替换这里的数值为你的float列表,一行一个
float_list = [
    0.298584,
    0.423096,
    0.308350,
    0.417480,
    0.268066,
    0.392578,
    0.321045,
    0.464844,
    0.309814,
    0.464844,
    0.308350,
    0.511963,
    0.298584,
    0.506348,
    0.268066,
    0.536865,
    0.284668,
    0.498291,
    0.260010,
    0.523193
]

import struct

# 生成无空格的十六进制字符串(Big-Endian格式,和示例一致)
hex_result = ""
for num in float_list:
    # 若要Little-Endian格式,把'!f'改成'<f'
    hex_bytes = struct.pack('!f', num).hex()
    hex_result += hex_bytes

print("无空格版本:")
print(hex_result)
print("\n带空格版本:")
print(' '.join([hex_result[i:i+2] for i in range(0, len(hex_result), 2)]))

使用步骤:

  1. 从Python官网下载安装Python(默认安装即可)
  2. 复制代码到记事本,替换float_list内的数值为你自己的
  3. 保存文件为float2hex.py,双击运行
  4. 弹出的命令窗口会显示两种格式的结果,直接复制即可使用

方法三:在线工具(无需安装软件)

找支持批量Float32转十六进制的在线工具,操作步骤:

  1. 把所有float数值一行一个粘贴到工具输入框
  2. 选择数据类型为32-bit Float (IEEE 754),字节顺序选Big-Endian
  3. 选择输出格式为「连续十六进制」或「带空格分隔的十六进制」
  4. 复制生成的结果即可

内容的提问来源于stack exchange,提问作者Eddie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:05:22