请问这段js是什么意思?在线等

ixfly 2019-05-14 01:40:16
abc1: function (e) {
for (var n = new ArrayBuffer(2 * e.length), r = new Uint16Array(n), t = 0, o = e
.length; t < o; t++) r[t] = e.charCodeAt(t);
return r;
},
json2buffer: function (n) {
var r = this.abc1(JSON.stringify(n)),
t = r.length,
o = new ArrayBuffer(4);
new DataView(o).setUint32(0, t);
var s = new Uint8Array(4 + t);
return s.set(new Uint8Array(o), 0), s.set(r, 4), s.buffer;
},

json2buffer('一个json格式的数据')

最后把这个json格式的数据封装成什么样了?在线等
...全文
268 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
stherix 2019-05-15
  • 打赏
  • 举报
回复
引用 5 楼 ixfly 的回复:
[quote=引用 4 楼 stherix 的回复:] 应该是把json字符串转换成了Unicode编码的字节流 然后在最前面4字节加上了字节流长度
(new Uint8Array(o), 0),这个是什么意思呢[/quote] s.set(new Uint8Array(o), 0), 这个是建立一个Uint8的数组,内容则是o的值(o其实就是长度,4字节),然后把它复制到s变量0开始的位置 s.set(r, 4) 就是把r的值复制到s的4开始的位置,r是json转换成的Unicode字节流,其长度是o(不是0)
ixfly 2019-05-15
  • 打赏
  • 举报
回复
引用 4 楼 stherix 的回复:
应该是把json字符串转换成了Unicode编码的字节流
然后在最前面4字节加上了字节流长度


(new Uint8Array(o), 0),这个是什么意思呢
stherix 2019-05-15
  • 打赏
  • 举报
回复
应该是把json字符串转换成了Unicode编码的字节流 然后在最前面4字节加上了字节流长度
ixfly 2019-05-15
  • 打赏
  • 举报
回复
高手在哪里,在线等
75闪光雷 2019-05-14
  • 打赏
  • 举报
回复
前端打个断点看看 变成啥数据了
ixfly 2019-05-14
  • 打赏
  • 举报
回复
应该是封装成了二进制数据,但是前面好像加了什么东西。不是简单的转换成了二进制。别人web网站上的,我想改成客户端发送数据,不知道怎么封装

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧