spotfg
V2EX  ›  问与答

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

  •  
  •   spotfg · Feb 26, 2019 · 1784 views
    This topic created in 2726 days ago, the information mentioned may be changed or developed.
    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 replies    2019-02-26 14:46:35 +08:00
    noe132
        1
    noe132  
       Feb 26, 2019 via Android
    很简单。去搜 arraybuffer 的 polyfill 然后翻译成 python 就行了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2549 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:40 · PVG 23:40 · LAX 08:40 · JFK 11:40
    ♥ Do have faith in what you're doing.