如何在 Javascript 中将二进制数据读取到字节数组?

2023-12-20

我想读取通过 XMLHttpRequest 获取的 JavaScript 二进制文件,并能够操作该数据。通过我的研究,我发现了这种将二进制文件数据读入数组的方法

var xhr = new XMLHttpRequest();
xhr.open('GET', '/binary_And_Ascii_File.obj', true);

xhr.responseType = 'arraybuffer';

xhr.onload = function(e) {
  var uInt8Array = new Uint8Array(this.response);
};

如何将此二进制数据数组转换为人类可读的字符串?


我相信您会发现这很有帮助:http://jsdo.it/tsmallfield/uint8array http://jsdo.it/tsmallfield/uint8array.

点击javascript标签。 将会出现将 Uint8Array 转换为字符串的代码。作者展示了2种方法:

  • 第一个是关于创建视图。
  • 第二个偏移字节。

EDIT:报告代码的完整性

var buffer = new ArrayBuffer( res.length ), // res is this.response in your case
    view   = new Uint8Array( buffer ),
    len    = view.length,
    fromCharCode = String.fromCharCode,
    i, s, str;    

/**
 *  1) 8bitの配列に入れて上位ビットけずる
 */
str = "";

for ( i = len; i--; ) {
  view[i] = res[i].charCodeAt(0);
}

for ( i = 0; i < len; ++i ) {
  str += fromCharCode( view[i] );
}    

/**
 *  2) & 0xff で上位ビットけずる
 */
str = "";

for ( i = 0; i < len; ++i ) {
  str += fromCharCode( res[i].charCodeAt(0) & 0xff );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Javascript 中将二进制数据读取到字节数组? 的相关文章

  • 是否有匹配单个字素簇的正则表达式?

    字素是用户感知的文本字符 在 unicode 中可能由多个代码点组成 From Unicode 标准附录 29 http unicode org reports tr29 Grapheme Cluster Boundaries 重要的是要认
  • 为什么电子邮件正文给出不同的输出?

    我正在尝试触发来自 Google 应用程序脚本的电子邮件 const body HtmlService createHtmlOutput A b new task b have been added to the Task Manager
  • EJS.JS ReferenceError:标题未定义

    我遇到了 Express 脚本的问题 我正在调用一个在另一个函数成功时呈现视图的函数 在这个项目中 我使用 Angular Node Express 和 ejs 作为视图引擎 当我渲染视图时 不幸的是我收到以下 ejs 错误 Referen
  • 如何通过单击链接并确认弹出窗口来检查两个条件?

    我是 JavaScript 新手 有 2 个 html 链接 li a class dropdown item confirm href wtdata a li li a class dropdown item confirm href f
  • 录制视频和音频并上传到服务器

    我想为网站添加视频录制功能 我一直在搜索并尝试所有可能的可用解决方案 但还没有任何工作正常 我已经尝试过以下解决方案 WebRTC 我知道使用 WebRTC 我们可以从网络摄像头和麦克风获取流 我发现了很多关于相同内容的文章 但没有一篇解释
  • Angular 2延迟加载模块-服务不是单例

    我已经在我的应用程序中实现了延迟加载模块 app module ts 配置正确 NgModule declarations AppComponent HeaderComponent HomeComponent imports Browser
  • 如何检查 webgl(two.js) 的客户端性能

    我有一个使用 Three JS 的图形项目 现在我想自动检查客户端 GPU 性能并计算可以在应用程序中加载多少元素 我想到了诸如 GPU 基准测试之类的东西 看一眼stats js https github com mrdoob stats
  • 使用 Javascript 在前端创建基本 URL(开发、API 和生产)

    无论开发和部署如何 如何制作适用于 http https localhost 端口和实际域的基本 url 我想创建一个可以在所有场景或条件下工作的基本 url 无论 http https 协议 端口 本地主机和实际域如何 无论是在开发中还是
  • 替换后正确的子串位置

    我有一个由用户提供的这样的函数 function replace function string return string replace smile g replace foo bar baz g text 1 我有这样的输入字符串 v
  • 使用 javascript 将文本附加到文本区域

    如何将文本列表附加到文本区域
  • HTML5 画布在缩放和旋转后平移

    我正在尝试用画布做一些事情 首先 我让用户上传图像 如果图像比我想要的大 我需要将其缩小 那部分工作得很好 最近我们遇到了 iPhone 用户上传图像的问题 这些都存在方向问题 我已经弄清楚如何提取方向 我的问题是当我操纵画布中的图像时会发
  • 一种用javascript创建随机噪声背景图像(png)的方法?

    YouTube的新布局添加了我非常喜欢的背景随机噪声 在其他网站上看到了几乎完全相同的效果 所以我计划在我的网页原型中使用相同的技术 或者至少在其中使用这个 技巧 我的工具箱以供将来使用 图片是这样的 取自http g raphaeljs
  • 如何以编程方式确定 HTML 对象可以侦听哪些事件?

    我一直在查看developer mozilla org 和Apple 开发文档上的文档 但我找不到解释是否可以通过编程方式确定特定HTML 标记是否支持给定事件监听器的文档 就像我知道的那样
  • 如何调试使用 Testaulous (Karma) 运行的 Jasmine 规范?

    我有一个具有 Jasmine 规格的小项目 我使用 Testaulous 作为我的测试运行程序 我不明白如何调试应用程序代码或规范代码 当我尝试在 Chrome 开发工具中设置断点时 下次规范运行时不会命中它 因为它每次都会使用新的查询字符
  • 如何在 Yii 框架中使用 jQuery?

    如何在 yii 中使用 jquery javascript 如何在 yii 中使用我的脚本 为什么这与以其他方式使用 jQuery 有什么不同 如何在yii中使用jquery 如上所述 您可以注册新的脚本块 也可以注册新的外部脚本文件 您还
  • 如何从客户端 JavaScript 调用特定的 Node.js 方法

    在我的应用程序中 我在 node js 文件中创建了许多方法 我如何从客户端 JavaScript 调用特定方法 下面是我的node js 文件 exports method1 function exports method2 functi
  • 如何检查令牌过期和注销用户?

    当用户单击注销按钮时 他 她可以自己注销 但是如果令牌过期 他 她就无法注销 因为在我的应用程序中 令牌在服务器端和前端都使用 当用户单击注销按钮时 如果令牌有效 则服务器和浏览器中的令牌都会被清除 当用户未注销并且他 她的令牌过期但未在浏
  • 使用 JavaScript 和 HTML 打印表情符号

    为什么这有效 p x1f604 p 而这并没有 document getElementById emoji innerHTML String fromCharCode parseInt 1f604 16 JS 术语中的 char 实际上是一
  • AES 在 cryptojs 中加密并在 python Crypto.Cipher 中解密

    使用 js CryptoJS 加密并使用 python crypto Cipher 解密时出现问题 这是我在js中的实现 附加 iv 与加密消息并使用 base64 进行编码
  • 如何在 Firefox 插件上使用 jQuery 1.5.2+?

    首先 我创建了一个接收参数并返回 jQuery 的函数 例如 function getjQuery window jquery code window return window jQuery 但后来我收到了一封评论电子邮件 他们告诉我必须

随机推荐

  • 如何在 gdb 中中断 UBSan 报告并继续?

    GCC 和 Clang 的最新版本具有未定义行为清理程序 UBSan 它是一个编译标志 fsanitize undefined 添加运行时检测代码 出现错误时 会显示如下警告 packet ber c 1917 23 运行时错误 54645
  • 如何从日期/时间字段快速选择不同的日期,SQL Server

    我想知道是否有一个性能良好的查询来从 SQL Server 中带有日期时间字段的表中选择不同的日期 忽略时间 我的问题不是让服务器实际执行此操作 我已经看到这个问题 https stackoverflow com questions 887
  • ElasticSearch NEST 搜索

    当我尝试对 ElasticSearch 实例执行搜索时遇到意外错误 我正在关注这里的文档 http nest azurewebsites net nest quick start html http nest azurewebsites n
  • 如何在单击时展开文本区域

    我正在开发一个有文本区域的小项目 我需要帮助来使文本区域在鼠标单击时展开 就像 Twitter 和 Facebook 那样 文本区域首先应该看起来像一个文本字段 然后单击时应该展开 这可以在不使用 JavaScript jQuery 的情况
  • R中的时间序列

    我正在电子表格中跟踪我的体重 但我想通过使用 R 来改善体验 我试图在 R 中找到一些有关时间序列分析的信息 但没有成功 我这里的数据采用以下格式 date gt weight gt body fat percentage gt water
  • Angular 5 ngx-bootstrap 表单验证

    我正在读阿里 勒纳的书ng book在 Angular 5 上 我正在使用ngx bootstrap and Bootstrap 4 表单验证似乎并不像勒纳先生实现的那样工作 我不确定这是否是一个限制ngx bootstrap 有人知道吗
  • 显示数组内容的问题

    下面的代码将内容和图像保存到 varcontent i content and vacontent i images 然而 我在正确显示内容和图像的循环之外唯一得到的是 varcontent i content Print r 显示数组的所
  • ValueError:需要解压的值太多(预期为 2)

    在我正在使用的Python教程书中 我输入了一个示例同时分配 当我运行程序时 我得到了前面提到的 ValueError 但不明白为什么 这是代码 avg2 py A simple program to average two exam sc
  • 当应用程序未运行时,GCM 推送通知不会在某些设备中显示

    我在我的应用程序中实现了 GCM 推送通知 并且已成功完成 但在某些设备中 当应用程序关闭时 它不会显示通知 未显示通知的设备列表 Redmi 2 lenovo Gionee 谁能解释一下问题是什么以及我如何解决它 这是我的清单
  • 如何在 Android Management API 中为 Web 应用程序启用 kiosk 模式

    我们的一位客户希望通过网络应用程序启用单一信息亭模式 当我们应用此配置时 它不起作用 网络应用程序不会显示 并且设备无法使用 即使安装了 Chrome 应用程序 当信息亭模式被禁用时 网络应用程序完全可用 所以我猜 AMAPI 方面有问题
  • Numpy:将每一行除以一个向量元素

    假设我有一个 numpy 数组 data np array 1 1 1 2 2 2 3 3 3 我有一个相应的 向量 vector np array 1 2 3 我该如何操作data沿着每一行进行减法或除法 结果是 sub result 0
  • Android;强制 AppWidget 从 SD 卡工作?

    即使应用程序移至 SD 卡且 SD 卡未移动 是否有任何方法可以强制 AppWidget 工作 unmounted Docs http developer android com guide topics data install loca
  • 意外结果,Gnu C 中的三元运算符

    所以三元运算符的运算符优先级为C对我来说真的很奇怪 例证 include
  • 是否有黄屏死机的实现?

    在 ASP NET 中 当您处于DEBUG模式 如果出现故障 您会看到著名的黄屏死机 这表明有一个Server Error in
  • 分配时 Python 字典键错误 - 如何解决这个问题?

    我有一本这样创建的字典 myDict 然后我想在其中添加对应于另一个字典的键 在其中放置另一个值 myDict 2000 hello 50 所以当我经过myDict 2000 hello 某处 它会给50 为什么 Python 不直接创建这
  • 如何通过 API 获取 Google Sheets 中的单元格编辑日期?

    我已经自动更新了包含 1500 多行的 Google 表格 我需要在 A 列单元格更改时用日期填充新列 我试图从中获取数据谷歌云端硬盘修订 https developers google com drive api v3 reference
  • 当不能简单地重载时混合可选参数和参数

    如同这个问题 https stackoverflow com questions 3948971 c sharp 4 0 optional parameters and params do not work together 我想将可选参数
  • 将 Flask 表单数据转换为 JSON 只获取第一个值

    我想从 HTML 表单获取输入并以 JSON 格式提供输出 当选择多个值时 它们不会转换为 JSON 数组 仅使用第一个值 app route form def show form return render template form h
  • 将技术指标添加到图表中。Posn

    由于某种原因 我无法将 ROC 信号添加到吸墨图上 在文档中应该允许它 我想用这个指标创建一个新的图表 有人可以帮忙吗 plot performance for symbol chart Posn strategy AbsMom Symbo
  • 如何在 Javascript 中将二进制数据读取到字节数组?

    我想读取通过 XMLHttpRequest 获取的 JavaScript 二进制文件 并能够操作该数据 通过我的研究 我发现了这种将二进制文件数据读入数组的方法 var xhr new XMLHttpRequest xhr open GET