我正在编写一个实用程序来处理通常逐字节读取/解析第三方文件。该实用程序处理一些基本加密(对每个字节进行异或),在1字节和2字节字段之间切换(其中使用little-endian读取2字节字段)。一路上有一些特殊的“压缩”方案,以及ASCII字符串的压缩版本(而不是空格,最左边的位设置为表示后面的空格)。
无论如何,根据读取的字节或字节,我可以使用记录的文件结构将其转换为有意义的数据。该实用程序在Windows中运行,但我也想支持Mac和Linux操作系统。
我在处理字节级时使用uint8_t作为类型。在C#中我可以使用字节数据类型,但在C ++中(此实用程序现在基于此)我没有那么奢侈。
最初我使用的是无符号字符,但我不确定在其他平台上它总是“8位”。我切换到了uint8_t。
如果这似乎是一个糟糕的问题,我很抱歉,但我对C ++的信心不如我在C#中那么自信。