代码在这里:
NSString * str = [[NSString alloc] initWithFormat:@"abcdefgh"];
void * pbuffer = malloc(128);
memset(pbuffer, 0, 128);
NSUInteger nsu;
NSRange range = NSMakeRange(0, 128);
[str getBytes:pbuffer maxLength:128 usedLength:&nsu encoding:NSUnicodeStringEncoding options:0 range:range remainingRange:nil];
NSString * str2 = [[NSString alloc] initWithBytes:pbuffer length:128 encoding:NSUnicodeStringEncoding];
然后我会看到字符串 str 和 str2 结果会有所不同。缓冲区仍然是正确的,内存就像“61 00 62 00 ....”。str2 中的内存就像“00 61 00 62 ....”。
我的测试代码有什么问题?
谢谢!