问题标签 [variable-length]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
476 浏览

string - Javolution - 读取可变长度字符串

如何使用 Javolution API 从 C 结构中读取可变长度字符串?

例如下面的代码用于获取固定大小的字符串- public final UTF8String data= new UTF8String(100);

谁能给我一个读取可变长度字符串的例子。

0 投票
11 回答
42760 浏览

python - 查找字符串是否以列表的可变长度前缀之一开头

我需要找出名称是否以列表的任何前缀开头,然后将其删除,例如:

以上仅适用于长度为 2 的列表前缀。我需要可变长度前缀的相同功能。

它是如何高效完成的(代码少,性能好)?

一个 for 循环遍历每个前缀,然后检查name.startswith(prefix)以最终根据前缀的长度对名称进行切片,但它有很多代码,可能效率低下,并且“非 Pythonic”。

有没有人有一个很好的解决方案?

0 投票
2 回答
12689 浏览

ibm-midrange - 如何在 RPGLE 中获取字符类型变量的长度?

有没有简单的方法可以直接返回 RPGLE 中字符和类型变量的长度?我这里说的长度不是D-spec中规定的长度。我说的是字符串中有意义的字符的实际数量。假设一个字符类型变量定义为 50 个字符长,并赋值为“Hello world!”,那么我想要的长度是 12,即从“H”到“!”。忽略前导和尾随空格。有什么简单的方法可以做到这一点吗?

0 投票
1 回答
824 浏览

antlr - ANTLR: parsing header followed by binary data chunk with unknown length

There in a data stream are two packets. Each has the header followed by some binary data with unknown length, until another header is found, or EOF is reached. Here is the data: HDR12HDR345 HDR is the header marker 12 and 345 are the binary data.

And here is my current wrong grammar:

The first header token is recognized, but the data token is too long and it consumes the next header and data.

After three days of looking for the solution I did not found any, which matches both, "binary data" and "unknown length" aspects. But stil I think that this must be some common scenario for parsing. ANTLR is not as easy as it looks like for the first sight :(

Thanks for any help or suggestions.

0 投票
2 回答
711 浏览

java - 接收未定义数量的数组的方法

不久前,我在玩使用可变长度参数列表(java)的方法,这些方法定义如下

这是一个愚蠢的程序,但它会做的是接收未定义数量的整数并从中创建一个数组,这样下面的所有内容都会调用相同的方法

现在我要做的是创建一个具有相同效果但使用数组而不是整数的方法。我在想它可以通过将数组放入二维数组来做到这一点,但我不能 100% 确定这是否可能,因为添加的数组的大小可能会有所不同。(甚至可能因为这个原因它是不可能的?)。但据我所知,二维数组是制作数组数组的唯一方法。

我试过(请注意这不是我的实际用途,我只是用它来试验看看如何做到这一点)

这没有编译。

任何人都可以提出任何建议吗?

对于任何有兴趣的人。我想要做的是创建一个方法,该方法将接受 X 多个数组,然后基于该运行 for 循环,以便添加所有数组,

例如:

0 投票
3 回答
5379 浏览

python - 获取多维元组的最大长度

我的元组看起来像这样(对于一组特定的生成值)

现在,我需要找到这个元组/列表中最长元组的长度。我总是可以使用 for 循环,遍历所有子元组并执行此操作。但我想问一下是否有相同的预定义功能。

当前使用情况

这是我现在要使用的

0 投票
3 回答
1536 浏览

html - 在相对 div 中居中文本,没有大小

我有以下(简化的)HTML结构:

和 CSS:

我想将跨度元素居中于输入元素。请注意,由于边缘对齐规则(.Prompt 元素可以与输入元素的任何边缘对齐),我无法更改 .PromptContainer 的大小。span 元素内的文本长度可变,可能比输入元素的宽度长。我不能使用 javascript 来执行此任务,因为在我的情况下它太无效了(大量此类元素)。

编辑: 图像可视化我所拥有的和我想要实现的可在此处获得:在此处输入图像描述

编辑2: 让我描述这个问题的目的。我们正在为用更旧的技术(作为 Windows 应用程序)编写的巨型旧应用程序编写新的基于 Web 的运行时。我们已经创建了从这个应用程序的源代码到我们的新环境(ASP.NET)的转换器。这个旧应用程序中的所有控件都是绝对定位的,因此我们以相同的方式进行操作。控件(例如输入标签表)有它的位置和大小,以及与之相关的提示文本。提示文本是相对于控件定位的,所以在翻译过程中我们不知道它的绝对位置。请注意,它取决于字体设置、文本、与控件的偏移量以及附加提示的控件边缘。

我正在尝试编写一个 CSS 规则来将提示定位在正确的位置。我已经解决了几乎所有的配置,但是我在居中时遇到了很大的问题。

由于绝对定位,我不能使用非零大小的 .PromptContainer - 我只知道控制的位置,而不是 .Prompt 本身。更大的 .PromptCointainer 会向下移动整个控制。

此外,长于控件宽度的提示文本不得更改控件的大小。

0 投票
3 回答
1462 浏览

c - 可变长度数组和分段错误

在下面的代码中,如果我在扫描数组“x”的所需长度之前声明了可变长度数组“int array1[x]”,我会在执行时收到“分段错误(核心转储)”。(编译没有错误)。我在编译时使用选项 -std=c99 严格使用了 ANSI C99 标准。

我的问题是为什么我不能将所有声明组合在一起?

0 投票
1 回答
1373 浏览

hash - 具有可变长度字母数字输出的一种方式散列

我需要一种方法散列可变长度(10-20 个字符)的字母数字 + 特殊字符(ascii)字符串。输出应为可变长度,但最长为 25 个字符,字母数字且不区分大小写。

另外我不想产生碰撞,所以我需要一些无碰撞或至少没有被证明(还没有?)的东西来产生碰撞。

0 投票
0 回答
1337 浏览

data-structures - 需要对简洁数据结构有一个很好的概述

交叉发布:需要对简洁数据结构算法有一个很好的概述

由于我了解简洁数据结构,因此我迫切需要对该领域的最新发展有一个很好的概述。

我已经用谷歌搜索并阅读了很多我可以在谷歌搜索结果顶部看到的文章,这些文章来自我头顶的请求。我仍然怀疑我在这里错过了一些重要的事情。

以下是我特别感兴趣的主题:

  1. 二叉树的简洁编码,具有获取父、左/右子、子树中元素数量的有效操作。

    这里的主要问题如下:我所知道的所有方法都假设树节点以呼吸优先顺序枚举(如该领域的先驱工作Jacobson, G. J (1988)。简洁的静态数据结构),它没有似乎适合我的任务。我处理深度优先布局中给出的巨大二叉树,深度优先节点索引是其他节点属性的关键,因此更改树布局对我来说有一些成本,我希望将其最小化。因此,有兴趣参考考虑其他 BF 树布局的作品。

  2. 外部存储器中的大型可变长度项目数组。数组是不可变的:我不需要添加/删除/编辑项目。唯一的要求是 O(1) 元素访问时间和尽可能低的开销,比直接的偏移和大小方法更好。以下是我为我的任务收集的一些典型数据的统计数据:

    典型的项目数量 - 数亿,高达数千万;

    大约 30% 的项目长度不超过 1

    40%-60% 的项目长度小于 8 位;

    只有少数项目的长度在 32 到 255 位之间(255 位是限制)

    平均项目长度 ~4 位 +/- 1 位。

    项目长度的任何其他分布在理论上都是可能的,但所有实际有趣的案例都有接近上述的统计数据。

任何复杂文章的链接、任何晦涩难懂的教程、或多或少记录在案的 C/C++ 库——任何在类似任务中对你有用的东西或你有根据的猜测看起来像的东西——所有这些东西都非常感谢。

更新:我忘了补充问题 1:我正在处理的二叉树是不可变的。我没有改变它们的要求,我只需要以各种方式遍历它们,总是从节点移动到子节点或父节点,因此此类操作的平均成本是 O(1)。

此外,典型的树有数百万个节点,不应该完全存储在 RAM 中。

更新 2只是如果有人感兴趣。我在https://cstheory.stackexchange.com/a/11265/9276中有几个很好的链接。