我正在嘗試編寫一個函數,它將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()的文檔。 –