【发布时间】:2015-05-20 03:40:21
【问题描述】:
我正在用 C 实现 RLE 算法,但我遇到了一个很大的问题。我使用 @ 作为压缩/解压缩的标识符。让我举个例子:
0 0 0 0 1 2 0 0 0 0 = @ 0 4 1 2 @ 0 4
@ X Y 的种类 = 重复 X、Y 次。数字从 0 到 255(无符号字符)不等。但是,数字 64 搞砸了我,因为它和“@”是一样的。
程序读取 64 0 5
我预计:64 0 5(无需解压)
我得到的是:0 0 0 0 0(64 存储在一个 char 变量中,然后,程序将其用作 '@')
if (var == '@') {
// decompress
}
【问题讨论】:
-
如何将
unsigned char转换为整数?