请问一下,有大佬试过将 JavaScript 里的 ArrayBuffer 用 Python 来实现吗?

2019-02-26 12:35:17 +08:00
 spotfg
javascript:

输入
var bq = new ArrayBuffer(16384)
, ai = new Int32Array(bq)
, ah = new Uint8Array(bq)
, bj = new Int8Array(bq)
, bd = new Int32Array(bq)

ai[0] = 127
ai[1] = 128
ai[2] = 255
ai[3] = 258

输出结果为
ai Int32Array(4096) [127, 128, 255, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]
ah = Uint8Array(16384) [127, 0, 0, 0, 128, 0, 0, 0, 255, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,…]
bj = Int8Array(16384) [127, 0, 0, 0, -128, 0, 0, 0, -1, 0, 0, 0, 2, 1,, 0, 0, 0, 0, 0, …]
bd = Int32Array(4096) [127, 128, 255, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…]


请问一下 python 能不能实现相同的功能:
1、改变 ai(或者 ah,bj,bg)数组中的任何一个值,使得另外所有使用 bq 创建的数组值都发生改变
2、以不同的位方式,储存数据值
3、当数值超过当前的取值范围时如:int8 范围-127~-127,将该数减去 128 存储在索引位置,再向后继元素值加 1
4、改变其中一个,另外的三个储存的索引下标却不一致,看上去就像一个索引值对应着 1 个字节.。。。
1429 次点击
所在节点    问与答
1 条回复
noe132
2019-02-26 14:46:35 +08:00
很简单。去搜 arraybuffer 的 polyfill 然后翻译成 python 就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/538829

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX