首先,我很抱歉这个令人困惑的头衔。 我正在阅读Adobe's specs of SWF,我看到了一条声明,我不确定如何编码。
签名后面是一个单字节版本号。版本号不是ASCII字符,而是8位 数。例如,对于SWF 4,版本字节为0x04,而不是ASCII字符“4”(0x34)。
这实际上意味着0x20
不是空格,实际上是数字20
。
现在,让我们说我有这个:
unsigned char c[1] = { 0x20 };
如何从20
中获取值为c
的整数?
编辑:
事实证明,并非我正在寻找的东西。具有该版本的字节实际上遵循以下方案:Chart of SWF versions to Flash versions
答案 0 :(得分:1)
试试这个
char string[16];
int value;
unsigned char c[1] = { 0x20 };
snprintf(string, sizeof(string), "%x", c[0]);
value = strtol(string, NULL, 10);
只要数字的十六进制表示具有文本十进制等效值,这将起作用,例如它不适用于0xA0
。