我正在尝试NSString
从无符号字符数组(ASCII 编码)初始化一个简单的。\0
问题是,数组中有一些s 作为分隔符。如果我使用
[[NSString alloc] initWithBytes:bytes length:length encoding:NSASCIIEncoding];
我只得到第一个部分\0
。即使有\0
s,有没有办法获取长度参数中指定的字节数?
我正在尝试NSString
从无符号字符数组(ASCII 编码)初始化一个简单的。\0
问题是,数组中有一些s 作为分隔符。如果我使用
[[NSString alloc] initWithBytes:bytes length:length encoding:NSASCIIEncoding];
我只得到第一个部分\0
。即使有\0
s,有没有办法获取长度参数中指定的字节数?
整个数组构成字符串,只是当您尝试显示它时,只显示到初始\0
值的部分。
这是说明这一点的代码:
unsigned char data[] = "hello\0world";
NSString *str = [[NSString alloc] initWithBytes:data length:sizeof(data) encoding:NSASCIIStringEncoding];
NSLog(@"%@", str);
NSLog(@"%@", [str substringFromIndex:6]);
这会产生以下日志输出:
hello
world