V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
spotfg
V2EX  ›  问与答

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

  •  
  •   spotfg · 2019-02-26 12:35:17 +08:00 · 1428 次点击
    这是一个创建于 1878 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 个字节.。。。
    1 条回复    2019-02-26 14:46:35 +08:00
    noe132
        1
    noe132  
       2019-02-26 14:46:35 +08:00 via Android
    很简单。去搜 arraybuffer 的 polyfill 然后翻译成 python 就行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1923 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 16:20 · PVG 00:20 · LAX 09:20 · JFK 12:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.