arraybuffer

JS实现audio音频剪裁剪切复制播放与上传(步骤详解)

所以,才需要转换成AudioBuffer,纯粹的音频数据,方便提取。AudioBuffer是一个仅仅包含音频数据的数据对象,是Web Audio API中的一个概念。其实应该是有了AudioBuffer对象后我们可以做点什么。 »

html5用video标签流式加载的实现

video标签浏览器的video标签通常是接收一个src属性,然后浏览器就会根据这个src属性来自动加载视频。这个过程是浏览器来加载video的。使用我们通过 URL.createObjectURL来创建一个blob格式的视频文件,来给video标签播。生成这样的一个video标签。播放器原理它是利用了流式处理视频源,不仅仅是简单的请求\b流然后\b交给\bvideo标签播放,它是请求视频流然后用... »

Node.js API详解之 V8模块用法实例分析

本文实例讲述了Node.js API详解之 V8模块用法。分享给大家供大家参考,具体如下:Node.js API详解之 V8v8 模块暴露了特定于V8版本内置到 Node.js 二进制文件中的API. 通过以下方式使用:const v8 = require;注意: APIs 和实现可能在任何时间变动。demo:const v8 = require;v8.setFlagsFromString;Ser... »

ES6之 二进制数组

ES6之 二进制数组二进制数组是 JavaScript 操作二进制数据的一个接口。二进制数组由三类对象组成。很多浏览器操作的 API ,用到了二进制数组操作二进制数据,下面是其中的几个。File APIXMLHttpRequestFetch APICanvasWebSocketsArrayBuffer 对象概述ArrayBuffer对象代表储存二进制数据的一段内存,它不能直接读写,只能通过视图 来... »

Scala 【 4 参数、过程以及数组 Array 和 ArrayBuffer 】

变长参数 传递的参数是可以改变的。 例如: def sum(nums:Int * ) = { var result = 0 for(num <- nums){ result += num } result } result 是返回值 因为是返回值,所以 在定义的时候别忘记有 = 。 如何传递 range 序列 ? 比如上面的传递 val s = sum(1 to 10) 这样子是不对的,此时... »

WebSocket 教程

WebSocket 教程

WebSocket 是一种网络通信协议,很多高级功能都需要它。 本文介绍 WebSocket 协议的使用方法。 一、为什么需要 WebSocket? 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。 举例来说,我们想了解今天的天气,只能是客户端向服务器发... »

深入理解JavaScript中的并行处理

前言 为什么说多线程如此重要?这是个值得思考的问题。一直以来,派生线程以一种优雅的方式实现了对同一个进程中任务的划分。操作系统负责分配每个线程的时间片,具有高优先级并且任务繁重的线程将分配到更多的时间片,而低优先级空闲的线程只能分到较少的时间片。 虽然多线程如此重要,但JavaScript却并没有多线程的能力。幸运的是,随着 Web Worker 的普及,我们终于可以在后台线程来处理资源密集型的计... »

详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度

分析并操作 responseXML属性  如果你使用 XMLHttpRequest 来获得一个远程的 XML 文档的内容,responseXML 属性将会是一个由 XML 文档解析而来的 DOM 对象,这很难被操作和分析。这里有五种主要的分析 XML 文档的方式:  1.使用 XPath 定位到文档的制定部分。  2.使用 JXON 将其转换成 JavaScript ... »

XMLHttpRequest Level 2 使用指南

XMLHttpRequest是一个浏览器接口,使得Javascript可以进行HTTP(S)通信。 最早,微软在IE 5引进了这个接口。因为它太有用,其他浏览器也模仿部署了,ajax操作因此得以诞生。 但是,这个接口一直没有标准化,每家浏览器的实现或多或少有点不同。HTML 5的概念形成后,W3C开始考虑标准化这个接口。2008年2月,就提出了XMLHttpRequest Level 2 草案。 ... »

JavaScript中关于base64的一些事

base64 其实是一种编码转换方式, 将 ASCII 字符转换成普通文本, 是网络上最常见的用于传输8Bit字节代码的编码方式之一。 base64 由字母 a-z 、 A-Z 、 0-9 以及 + 和 / , 再加上作为垫字的 = , 一共65字符组成一个基本字符集, 其他所有字符都可以根据一定规则, 转换成该字符集中的字符。 abcde => YWJjZGU= ABCDE => Q... »

js操作二进制数据方法

最近做了几个项目,用js操作二进制数据,通过socket与后台进行传输。在此用博客做个记录 首先是新建一个socket: var socket=new WebSocket("ws://192.168.0.147"); 接着定义socket打开,连接之后执行的函数: websocket有个属性binaryType,可将其设置为“blob”或者“arraybuffer”,默认格式为“blob”,做项目... »

如何在Angular.JS中接收并下载PDF

介绍jsPDF 是一个使用Javascript语言生成PDF的开源库。提供强大的排版引擎安装:client-version bower install pdfmakeserver-version npm install pdfmake最后还是采用了后端生成PDF,前端通过接口请求,后端返回PDF Stream,最后前端通过Blob生成PDF并实现下载。前端框架采用的AngularJS,所以就采用$... »

JavaScript之WebSocket技术详解

WebSocket协议完全可以取代Ajax方法,用来向服务器端发送文本和二进制数据,而且还没有“同域限制”。Sec-WebSocket-Key则是用于握手协议的密钥,是base64编码的16字节随机字符串。浏览器将对这个值进行验证,以证明确实是目标服务器回应了webSocket请求。Sec-WebSocket-Location表示进行通信的WebSocket网址。请注意,WebSocket协议用w... »

深入理解Node中的buffer模块

在Node、ES2015出现之前,前端工程师只需要进行一些简单的字符串或DOM操作就可以满足业务需要,所以对二进制数据是比较陌生。node出现以后,前端面对的技术场景发生了变化,可以深入到网络传输、文件操作、图片处理等领域,而这些操作都与二进制数据紧密相关。 Node里面的buffer,是一个二进制数据容器,数据结构类似与数组,数组里面的方法在buffer都存在(slice操作的结果不一样)。下面... »

JavaScript中的ArrayBuffer详细介绍

JavaScript中的ArrayBuffer详细介绍

相信每一个 javascript 学习者,都会去了解 JS 的各种基本数据类型,数组就是数据的组合,这是一个很基本也十分简单的概念,他的内容没多少,学好它也不是件难事情。但是本文着重要介绍的并不是我们往常看到的 Array,而是 ArrayBuffer。 我写的很多东西都是因为要完成某些特定的功能而刻意总结的,可以算是备忘,本文也是如此!前段时间一直在研究 Web Audio API 以及语音通信... »

Ajax发送和接收二进制字节流数据的方法

HTML5 Ajax 2.0标准中,增强了Ajax的许多功能,包括发送FormData数据,上传数据进度条等诸多功能。但实际上,Ajax可以字节发送二进制数据。 发送二进制数据 var oReq = new XMLHttpRequest(); oReq.open("POST", url, true); oReq.onload = function (oEvent) { // Uploaded. }... »

详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据

最近使用了protobuf进行数据交互,发送在node.js接收前端的二进制数据出现了数据错误等问题。后来发现思路上面的问题,在req.on(‘data’,()=>{})事件中的处理不适当才引发数据错乱。借此发 我先直接贴正确接收二进制数据代码 const server = http.createServer((req, res) => { if(req.met... »

JavaScript 数组的进化与性能分析

正式开始前需要声明,本文并不是要讲解 JavaScript 数组基础知识,也不会涉及语法和使用案例。本文讲得更多的是内存、优化、语法差异、性能、近来的演进。 在使用 JavaScript 前,我对 C、C++、C# 这些已经颇为熟悉。与许多 C/C++ 开发者一样,JavaScript 给我的第一印象并不好。 Array 是主要原因之一。JavaScript 数组不是连续(contiguous)的... »

深入理解Nodejs Global 模块

浏览器上有自己的全局对象 window,同理, nodejs 下也有自己的全局对象 global,并且在各个模块下 都可以直接访问 global 对象。 在 nodejs 中,除了可以直接使用 V8 JavaScript 引擎中所支持的原生 JavaScript 的函数和对象外,它还追加了一些其他的函数和对象(比如:Buffer 对象、require 函数等)。 Buffer 对象: 用于处理二进... »

SparkGraphx计算指定节点的N度关系节点源码

直接上代码:package horizon.graphx.utilimport java.security.InvalidParameterExceptionimport horizon.graphx.util.CollectionUtil.CollectionHelperimport org.apache.spark.graphx._import org. »

基于axios 的responseType类型的设置方法

基于axios 的responseType类型的设置方法

responseType值的类型可为如下 axios请求下载导出一个文件,请求成功时返回的是一个流形式的文件,需要设置responseType: ‘arraybuffer’,但是请求失败的需要返回的是json数据, 所以需要把arraybuffer转成Json对象。 例: 请求设置了responseType: ‘arraybuffer’, 请求成功时... »

使用 JavaScript 创建并下载文件(模拟点击)

使用 JavaScript 创建并下载文件(模拟点击)

拥有 2 个只读状态OPEND和CLOSED。详情可以参考ArrayBuffer -MDN以及ECMAScript2015 标准中的 ArrayBuffer。Blob URLsBlob URLs 被创建或注销是使用URL对象上的方法。这个URL对象被挂在Window 对象下,或者WorkerGlobalScope对象下。拥有以下静态方法createObjectURL和revokeObjectURL... »

HTML5引入的新数组TypedArray介绍

HTML5引入的新数组TypedArray介绍

Javascript中的数组是个强大的家伙: 你可以创建的时候不规定长度,而是动态的去改变长度。你可以把他当成普通的数组去读取,也可以当他是堆栈来使用。你可以改变数组中每个元素的值甚至是类型。 好吧,其实他是一个对象,比如我们可以这样去创建数组: 复制代码代码如下:var array = new Array(10); Javascript的数组的强大以及全能,给我们带来了便捷性。但一般而言: 全能... »