问题标签 [unpack]
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.
regex - Perl 的 unpack("A4/A*") 正则表达式形式的长度+字节语法
如 perlpacktut 中所述,您可以使用 X/Y* 的解包字符串首先获取字节流的长度,然后准确读取那么多字节。但是,我很难在正则表达式中找到类似的东西,比如纯 ASCII 数字和字符串。例如,Bencoded 字符串的形式为:
我记得曾经能够做到这一点,但只能使用 ??{},而且我现在手头没有代码。这可以在没有 ??{} (这是超级实验性的)的情况下使用较新的 5.10 捕获/反向引用之一来完成吗?
明显的表达不起作用:
ruby - How to convert unpacked array to single value using Ruby?
I am trying to convert unpacked value of 4 byte array? Is this possible in Ruby?
say I wrote b1 = b.unpack("N")
and print value of b1
which is 1
. But when I try to convert b1 to some integer using .to_i console throws error test.rb:13: undefined method
to_i' for [118]:Array (NoMethodError)`
My code is following:
php - 使用 PHP 将大 zip 部分解压到一个文件夹中
我正在尝试解压缩一个可能包含 1500 多个 pdf 文件的 zip 文件。压缩文件应分部分解压到一个文件夹中,以免一次 20mb 的文件溢出服务器内存。
我已经找到了一个关于如何分段解压缩的示例。但是,此方法不会创建可以查看解压文件的目录或其他内容。它只创建一个文件,而不是目录,这似乎又是一个新的 zip。
如上所述,此函数创建一些看起来像另一个 zip 文件的文件。如果我创建了我想首先解压缩的文件夹并将其用作 $dstName,它会发出警告,提示它找不到该文件。此外,当我让它在目标链接的末尾创建一个带有“/”的“文件”时,它会发出警告。
使用 opendir 而不是 fopen 不会发出警告,但似乎没有提取任何内容,猜测处理程序的类型错误。
如何将这个大压缩文件部分解压缩到文件夹中?
ruby - ruby:将二进制字符串表示为 Bignum
我需要一个任意长度的二进制字符串的数字表示。这个看似微不足道的任务,却意外地变得复杂起来。到目前为止我能想到的最好的是
但是这个操作缺乏可逆性,因为 unpack 可能会在最高半字节返回前导零:
现在我需要检查从整数转换后是否有偶数个半字节,如果需要则用零填充等。这一切都很好而且很清楚,但我简直不敢相信这一定如此复杂。
更新示例:
现在让我们解码:
换句话说,我们未能解码到与开始时相同的值。
maven - 使用解压缩的 JAR 依赖项构建 WAR?
我想将我.class
的所有依赖项 jar 包含到 WARclasses/
目录中,而不是在lib/
目录中包含一个 Jar。
我有 :
我想 :
我也看到了 maven-dependency-plugin但它要求我的 jar 安装到本地或远程存储库中。但是mylib-1.0-SNAPSHOT.jar
在我的 WAR 之前编译,如果我打电话mvn package
,那就失败了!
那么,如何将我的 jar 依赖项解压到 war 类中呢?(就像maven-shade-plugin
罐子一样)
performance - Perl 中 unpack 结合 join 的性能
我有一个用 Perl 编写的解析器,它解析固定长度记录的文件。部分记录由几个字符串(也是固定长度)组成,仅由数字组成。字符串中的每个字符都被编码为数字,而不是 ASCII 字符。即,如果我有字符串 12345,它被编码为 01 02 03 04 05(而不是 31 32 33 34 35)。
我用 unpack 解析记录,这个特定部分被解包为@array = unpack "C44", $s
. 然后我用简单的连接恢复所需的字符串,比如$m = join("", @array)
.
我想知道这是否是解码的最佳方式。文件很大,有数百万条记录,显然我试图看看是否可以优化。Profiler 显示大部分时间都花在了解析记录上(即,读、写和其他东西都不是问题),而解析大部分时间都花在了这些连接上。我记得从其他来源那里加入是非常有效的操作。有什么想法可以加快代码速度还是已经达到最佳状态?也许有可能以某种巧妙的方式避免这个中间数组,例如,改用打包/解包组合?
编辑:代码示例
我尝试优化的代码如下所示:
perl - 在 Perl 中,使用 RC4 时我无法取回加密文本
我有一个带有 RC4 加密凭据的文件,负责将此类凭据写入文件的代码如下:
所以那段代码会返回类似:3F9FDCE3891C6B8851
但如果我尝试以下操作:
我期待看到localhost
,但相反,我得到了一堆字节,那么我将如何取回原始文本?
我已经用我的密码和我的十六进制编码字符串在线检查了 RC4 解密器,并且在线 RC4 解密器确实返回localhost
,所以我确信加密的字符串是正确的。
谢谢!
PS:上面的例子在一个孤立的环境中工作,但是当涉及到我的脚本时它没有。我无法取回原始字符串。
perl - perl. 将 64 位二进制数转换为十进制数
我有一个包含 64 个二进制符号的字符串。
我需要将其转换为十进制数。我怎样才能在 perl 中做到这一点?
不起作用。它只转换前 32 位。
ruby-on-rails - Base64 编码的字符串到文件(Ruby on Rails) - 未定义的方法“解包”错误
在我的一个 Rails 控制器中,我试图获取 Base64 编码的字符串,对其进行解码并将其写入文件 (.png)。这是我的代码:
我收到以下错误:
这里出了什么问题?
编辑:一件非常奇怪的事情是编写文件的代码在rails控制台中工作得很好,但在运行应用程序时却不行。
perl - Perl 使用 Unpack 将二进制数据拆分成块
我Transfer-Encoding: chunked
用来编写 HTTP 响应。
响应通过以下方式分成几部分:
当内容类型为 时,这可以正常工作text/html
,但它会破坏二进制数据,例如application/pdf
.
可unpack
用于将二进制数据分成相等的长度?