Ios 将二进制字符串追加到NSMutableData
我该如何追加这个二进制字符串 11100011000111100011110001111000111 指向包含Ios 将二进制字符串追加到NSMutableData,ios,nsmutabledata,Ios,Nsmutabledata,我该如何追加这个二进制字符串 11100011000111100011110001111000111 指向包含png (NSMutableData*dataForPNGFile=UIImagePNGRepresentation(p.Image);)您需要将字符串解析为一个NSData,然后附加该字符串 我不知道里面有什么东西,所以 NSMutableData *data = [NSMutableData dataWithLength(string.length+7)/8]; uint8_t *m
png
(
NSMutableData*dataForPNGFile=UIImagePNGRepresentation(p.Image);
)您需要将字符串解析为一个NSData
,然后附加该字符串
我不知道里面有什么东西,所以
NSMutableData *data = [NSMutableData dataWithLength(string.length+7)/8];
uint8_t *mutableBytes = (uint8_t *)data.mutableBytes;
for(NSUinteger index = 0; index < string.length; index++)
{
unichar character = [string characterAtIndex:index];
mutableBytes[index >> 3] <<= 1;
if(character == '1') mutableBytes[index >> 3] |= 1;
}
if(string.length&7)
mutableBytes[string.length >> 3] <<= (7 - (string.length&7));
NSMutableData*data=[NSMutableData dataWithLength(string.length+7)/8];
uint8_t*可变字节=(uint8_t*)data.mutableBytes;
对于(整数索引=0;索引>3]3]|=1;
}
if(字符串长度和7)
mutableBytes[string.length>>3]查看nsmutableData方法appendBytes:length:
您必须将位转换为字节,正如@Tommy所说。您想将精确的位表示附加到某个NSMutableData对象的末尾吗?它是30位,所以这不会发生。充其量,你将不得不在一边或另一边扔进两块填充物。