我正在尝试编写一个函数,它将char*
作为输入参数,并将其序列化为JSON。char *到NSData问题
我遇到了将输入参数options
转换为NSData的问题。我用下面的代码行:
NSData *data = [NSData dataWithBytes:options length:sizeof(options)];
这没有奏效。一组不同的代码做了工作:
NSString* stringFromChar = [[NSString alloc] initWithUTF8String:options]; NSData * data = [stringFromChar dataUsingEncoding:NSUTF8StringEncoding];
我很好奇,为什么有必要我的代码从char*
转换为一个NSString,然后NSData的,为什么我不能直接做。有没有一种方法可以直接将char*
转换为NSData而无需中间步骤?谢谢。
'的sizeof(选项)'是最有可能你希望它是不是什么。使用'NSLog'输出该值。或者添加一些更多的代码来提供更多的上下文。 – user3386109
查看strlen()的文档。 –