我需要存储一系列任意长度的 1 和 0。
我曾计划使用整数,但后来我突然想到,我真正需要的只是一个比特流。
NSMutableData 似乎就是这样。除了我看到有人谈论的是如何在其上设置字节,或在其中存储 jpeg 或字符串。我需要比这更细化。
给定一系列 1 和 0,例如:110010101011110110,我如何将其变成 NSData 对象——以及如何将其取出?
NSData 的 appendBytes:length: 和 mutableBytes 都是字节级别的,我需要从低一点开始。当字节本身由 1 和 0 的集合组成时,将这些 1 和 0 存储为字节是没有意义的。我很难找到任何告诉我如何设置位的东西。
这是一些虚假代码:
NSString *sequence = @"01001010000010"; //(or int sequence, or whatever)
for (...){//iterate through whatever it is--this isn't what I need help with
if ([sequence intOrCharOrWhateverAtIndex: index] == 0) {
//do something to set a bit -- this is what I need help with
} else {
//set the bit the other way -- again, this is what I need help with
}
}
NSData *data = [NSData something]; //wrap it up and save it -- help here too