javascript - 如何从 .NET 的 BinaryWriter 序列化的四个字节中读取单精度浮点数
问题描述
所以,我正在尝试构建一个类来从缓冲区读取数据,就像 .NET 的 BinaryReader 一样。这是在我使用 Electron 构建的地图编辑器应用程序中读取 Celeste 的地图格式(以二进制形式存储)(因此我隐式使用 Node.JS 和 JavaScript)。
我使用 .NET 参考源对所有必要的数据读取器进行了编码,但我不知道如何读取存储为四个字节的单精度浮点数。
在参考源中,有一些代码将四个字节的内存地址作为无符号 4 字节整数获取,然后将该地址读取为单精度浮点数,这适用于 .NET,但在 JavaScript(或 Node .JS)。
我当前的课程代码可以在Hastebin上找到,如果我没有提供足够的信息,因为这是我的第一个问题,或者我很晚才将答案标记为正确,我深表歉意。
解决方案
这可以通过 node.js 实现。直接取自文档:
var buf = new Buffer(4);
buf[0] = 0x00;
buf[1] = 0x00;
buf[2] = 0x80;
buf[3] = 0x3f;
console.log(buf.readFloatLE(0));
// 0x01
whereLE
指的是小端。有一个对应readFloatBE
于大端的。
推荐阅读
- django - 使用 django admin 将数据添加到表时 /admin/myforms/uploadedfile/add/ 出现 OperationalError
- asp.net - Error: XML transformation error in Azure Pipelines
- javascript - 通过javascript用表单替换div innerHTML后无法提交
- python - 根据时间戳合并 pandas 数据帧
- php - 按标题名称(或索引)从 CSV 中删除列
- ruby-on-rails - 为什么在 Rails 中创建方法而不是从前端存储并且是使用 Postman
- sql-server - 如何正确分区表?
- python - 将 SWIG 用于 C++ 结构中的 std::vector 成员
- json - 如何在 React 中使用 JSON 数据
- python-3.x - Python urllib.request 和 urllib.error 用法