当前位置: 首页 > 知识库问答 >
问题:

在特定索引位置解码base64数组

吴胜
2023-03-14

我处理大量XML文件,每个文件以base64字符串的形式存储一个float64数组。对于这些文件中的每一个,我都希望在不加载整个数组的情况下,在特定索引处访问其数组的值。我希望用Python实现这一点。

目前,我解码整个字符串,然后访问给定索引处的值,但我正在寻找一种更快的方法。

共有1个答案

姬翰林
2023-03-14

据我所知,每个浮点数使用8个字节来存储。每个3字节的二进制数据被映射到4个基64字符。因此,为了访问第i个浮点数,您需要:

  • 从索引(i*8/3)*4到(i*8)/3)*4获取base64字符
  • 将该块从base64解码为二进制
  • 首先删除(i*8)%3个字节
  • 使用接下来的8个字节作为float64值

 类似资料:
  • 问题内容: 我有一个有序的LinkedHashMap,我想在特定索引处添加元素,例如在地图的第一位或最后一位。如何在特定位置的LinkedHashMap中添加元素? 即使我可以将元素添加到LinkedHashMap中的FIRST或LAST位置也会有所帮助! 问题答案: 您无法更改订单。它是(默认情况下)或具有以下构造函数: 构造一个空的LinkedHashMap实例,该实例具有指定的初始容量,负载

  • 问题内容: 我只需要在字符串的第3个位置插入字符“ /”即可。 即成为。 我正在使用一些程序GUI来执行此操作,它接受正则表达式模式和替换。 我知道这一定是超级简单的,但我似乎找不到简单的答案。 问题答案: 将字符串[ ] 开头的3个[ ]字符[ ] 替换为(match ,后跟a )。

  • 介绍 Base64编码是用64(2的6次方)个ASCII字符来表示256(2的8次方)个ASCII字符,也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3。 使用 String a = "伦家是一个非常长的字符串"; //5Lym5a625piv5LiA5Liq6Z2e5bi46ZW/55qE5a2X56ym5Liy String encode = Base64.en

  • 问题内容: 我正在考虑使用Elasticsearch建立排名。如果我索引根据分数排序的元素列表。我可以按元素名称查询并获得其在索引上的位置吗? 例如我建立一个包含两个元素的索引: “ Element1”,得分:8“ Element2”,得分:7“ Element3”,得分:10 当我通过“ Element2”查询时,我想获得position = 3 问题答案: Elasticsearch在实际收集

  • 问题内容: 假设我有一个像这样的DataFrame: 索引在哪里 我想在某个索引之前(或之后)得到该行。例如,我有索引(例如,通过执行),并且我想在之前获得该行,但我不知道该行具有索引。 2个子问题: 如何获得索引的位置?像这样的东西会回来,所以我可以在到达之前 有另一种解决办法,有点像选择,或者使用grep? 问题答案: 对于第一个问题: 或者 要获得周围的环境: 我使用索引和联合来删除重复项。

  • 我想得到给定某个索引的数组类型的值。数组的值是 $status=[1,2]; 我使用这些代码来获取值: $task_state=$status[1]; 但它实际上认为$status是一个字符串并返回 '[' 我知道这其实很简单,但我似乎找不到问题的答案。非常感谢。