Free Pascal中字面数组的语法是什么?

8

我想将一个大约50个固定字节的列表存储在一个字节数组中,但是我找不到Free Pascal硬编码数组的语法。

集合使用[元素,元素,元素],那么数组要怎样表示?


为什么你不能用一个字符串呢? - Ignacio Vazquez-Abrams
该变量是由字节组成的静态密钥,用于简单的加密方案。虽然可以使用字符串,但是1)必须转义密钥中的每个字节,2)使用字节数组会强化密钥实际上是一个字节数组的概念。 - mcandre
1个回答

9

试一下这个

Const
  MyArray : Array[0..3] of byte= (0,1,2,3);   

更新

你必须翻译这个。

static int xlat[] = {
0x64, 0x73, 0x66, 0x64, 0x3b, 0x6b, 0x66, 0x6f,
0x41, 0x2c, 0x2e, 0x69, 0x79, 0x65, 0x77, 0x72,
0x6b, 0x6c, 0x64, 0x4a, 0x4b, 0x44, 0x48, 0x53,
0x55, 0x42, 0x73, 0x67, 0x76, 0x63, 0x61, 0x36,
0x39, 0x38, 0x33, 0x34, 0x6e, 0x63, 0x78, 0x76,
0x39, 0x38, 0x37, 0x33, 0x32, 0x35, 0x34, 0x6b,
0x3b, 0x66, 0x67, 0x38, 0x37
};

static int XLAT_SIZE = 53;

转换为这样

const
 XLAT_SIZE = 53;
 xlat : Array[0..XLAT_SIZE-1] of Integer = (
 $64, $73, $66, $64, $3b, $6b, $66, $6f,
 $41, $2c, $2e, $69, $79, $65, $77, $72,
 $6b, $6c, $64, $4a, $4b, $44, $48, $53,
 $55, $42, $73, $67, $76, $63, $61, $36,
 $39, $38, $33, $34, $6e, $63, $78, $76,
 $39, $38, $37, $33, $32, $35, $34, $6b,
 $3b, $66, $67, $38, $37
);

关键是确切地在ios7crypt.c中的xlat。语法会相同吗?当我复制您的语法时,出现“致命错误:语法错误,期望“,”但找到“)””。 - mcandre
如何将两个字节数组连接起来? - mcandre
2.7.1 还支持 Delphi 兼容的 dynarray.create 语法。 - Marco van de Voort

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接