标签: pack

使用Perl6打包和解包数据结构

在perl5上,如果有人想解析二进制文件,他有pack/unpack utiltiy,他可以将二进制结构转换为perl变量和副verca,

现在在perl6上有打包/解包的生产方式,从文档中我发现有Perl6的打包/解包方法,但它们是实验性的,

有没有人知道这些函数的状态,是否有替代解析二进制文件,其中包含perl6上的记录列表?

unpack pack perl6

7
推荐指数
1
解决办法
206
查看次数

如何比较Perl中的打包值?

我想在Perl中使用pack()函数来编码一些数据.然后我想将我的打包结构与另一个打包结构进行比较.我想比较这个打包结构的字节值.

根据文档,cmp使用当前的语言环境来确定如何比较字符串.但我不希望任何情报应用于比较.我想要最接近memcmp()的东西.显然我不能<=>用来比较我的打包对象,因为它们不是数字.

在Perl中比较打包字符串的最佳方法是什么?

旁注:我一直在读这篇关于Perl有效排序的文章,它指出普通排序函数使用类似memcmp的算法来比较结构.我想知道如何在不使用sort的情况下实现这样的比较.

perl compare pack

6
推荐指数
1
解决办法
1479
查看次数

Git pack文件名 - 什么是摘要?

Git中存储单个对象.git/objects/ab/cdefgh...,其中ab是SHA1摘要的第一个字节.

但是,打包文件不遵循相同的命名策略,我找不到有关如何命名的文档.任何见解?

git pack

6
推荐指数
2
解决办法
1269
查看次数

包装,但不要让它变小

JFrameGridBagLayout.用户可以调整此窗口的大小.此外,他还可以执行一些更改窗口大小的编辑操作.我pack(); repaint();在这样的行动之后立即使用.但是,实际上我不应该在这样的操作之后使窗口更小 - 只是更大.我发现的解决方案是

    Dimension oldSize = getSize();
    pack();
    Dimension newSize = window.getSize();
    setSize(
            (int) Math.max(newSize.getWidth(), oldSize.getWidth()),
            (int) Math.max(newSize.getHeight(), oldSize.getHeight()));
    repaint();
Run Code Online (Sandbox Code Playgroud)

但我根本不喜欢这个解决方案.除了丑陋的代码,我们设置两次大小(一次一包而不是直接).还有其他解决方案吗?

java swing pack

6
推荐指数
1
解决办法
1392
查看次数

恢复解包('C*',"字符串")

我想知道如何反转这个解压缩功能.我认为pack函数能够反转unpack执行的内容,但是我不确定.

首先,我有一个简单的字符串,在解压缩之后,我会有一个表示这种字符串的字节数组.现在我想知道如何将这样的数组反转回原始字符串.

<?php
$array = unpack('C*', "odd string");
/*Output: Array
(
    [1] => 111
    [2] => 100
    [3] => 100
    [4] => 32
    [5] => 115
    [6] => 116
    [7] => 114
    [8] => 105
    [9] => 110
    [10] => 103
)*/

$string = pack("which format here?", $array);

echo $string;
#Desired Output: odd string
?>
Run Code Online (Sandbox Code Playgroud)

谢谢.

php unpack pack

6
推荐指数
2
解决办法
3603
查看次数

为什么Python struct.pack中的混合类型使用的空间比需要的多?

我刚刚尝试在Python中使用struct.pack,当我混合类型时,我不理解它的行为

当我试图打包一个char而没有别的东西时,它按预期工作,即

struct.pack("b",1)
Run Code Online (Sandbox Code Playgroud)

'\x01'.但是一旦我尝试混合不同类型的数据,char就被填充为与此类型一样长,例如

struct.pack("bi",1,1)
Run Code Online (Sandbox Code Playgroud)

'\x01\x00\x00\x00\x01\x00\x00\x00'.

这是标准行为,为什么?有办法解决吗?

编辑

更简单地说:

>>> struct.calcsize("b")
1
>>> struct.calcsize("i")
4
>>> struct.calcsize("bi")
8
Run Code Online (Sandbox Code Playgroud)

python pack

6
推荐指数
1
解决办法
1482
查看次数

反正有"打包"JPanel?

有什么办法可以让我的JPanel pack像JFrame一样,或做类似的事情.我想这样做,而不是给它尺寸.如果需要任何附加信息,请评论.谢谢.

java jpanel jframe dimensions pack

6
推荐指数
1
解决办法
1万
查看次数

AVX2字节用uint16索引收集到__m256i中

我试图从数组中包装一个带有32个字符的__m256i变量,并由indices指定.这是我的代码:

char array[];         // different array every time.
uint16_t offset[32];  // same offset reused many times


_mm256_set_epi8(array[offset[0]], array[offset[1]], array[offset[2]], array[offset[3]], array[offset[4]], array[offset[5]], array[offset[6]], array[offset[7]],
      array[offset[8]],array[offset[9]],array[offset[10]],array[offset[11]], array[offset[12]], array[offset[13]], array[offset[14]], array[offset[15]], 
      array[offset[16]],array[offset[17]], array[offset[18]], array[offset[19]], array[offset[20]], array[offset[21]], array[offset[22]], array[offset[23]], 
      array[offset[24]],array[offset[25]],array[offset[26]], array[offset[27]], array[offset[28]], array[offset[29]], array[offset[30]],array[offset[31]])
Run Code Online (Sandbox Code Playgroud)

使用相同的偏移和不同的数组将多次调用此函数.但根据我的测试,我不认为它是最佳的.有什么想法改进吗?

c intrinsics pack avx avx2

6
推荐指数
1
解决办法
292
查看次数

重复类 kotlin 类 kotlin 版本 1.3.70

将最新版本 1.3.70 中的MoshiPack库添加Kotlingradle.build应用程序 Moshi 包时出错

implementation 'com.daveanthonythomas.moshipack:moshipack:1.0.1'
Run Code Online (Sandbox Code Playgroud)

错误信息

在模块 jetified-kotlin-reflect-1.1.1.jar (org.jetbrains.kotlin:kotlin-reflect:1.1.1) 和 jetified-kotlin-stdlib-1.3.70.jar (org .jetbrains.kotlin:kotlin-stdlib:1.3.70)

任何关于如何解决此问题或我可以使用的任何其他库的建议,Kotlin以便我可以使用 Message Pack。

提前致谢

android pack kotlin build.gradle moshi

6
推荐指数
2
解决办法
5467
查看次数

golang:打包一个结构体

请考虑这个示例代码:

package main

//#include <stdio.h>
//#include <stdint.h>
//#pragma pack(push, 1)
//struct Packed_Struct {
//  uint16_t A;
//  uint16_t B;
//  uint32_t C;
//  uint16_t D;
//};
//#pragma pack(pop)
//
//struct UnPacked_Struct {
//  uint16_t A;
//  uint16_t B;
//  uint32_t C;
//  uint16_t D;
//};
//
//
//void print_C_struct_size(){
//  struct Packed_Struct Packed_Struct;
//  struct UnPacked_Struct UnPacked_Struct;
//  printf("Sizeof Packed_Struct: %lu\n", sizeof(Packed_Struct) );
//  printf("Sizeof UnPacked_Struct: %lu\n", sizeof(UnPacked_Struct) );
//  return;
//}
//
import "C"



import(
    "fmt"
    "unsafe"
)

type …
Run Code Online (Sandbox Code Playgroud)

c struct go pack

5
推荐指数
1
解决办法
7856
查看次数

标签 统计

pack ×10

c ×2

java ×2

unpack ×2

android ×1

avx ×1

avx2 ×1

build.gradle ×1

compare ×1

dimensions ×1

git ×1

go ×1

intrinsics ×1

jframe ×1

jpanel ×1

kotlin ×1

moshi ×1

perl ×1

perl6 ×1

php ×1

python ×1

struct ×1

swing ×1