协慌网

登录 贡献 社区

如何将 NSString 值转换为 NSData?

如何将NSString值转换为NSData

答案

NSString* str = @"teststring";
NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding];
NSString *str = @"helowrld";
// This converts the string to an NSData object
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];

你可以从这个链接中参考

做:

NSData *data = [yourString dataUsingEncoding:NSUTF8StringEncoding];

然后随意继续NSJSONSerialization:JSONObjectWithData


更正有关 NULL 终止符的答案

在评论,官方文档和验证之后 ,关于删除所谓的 NULL 终止符的更新已得到更新:

  1. 正如dataUsingEncoding所记录的那样

    回报价值

    调用dataUsingEncoding:allowLossyConversion:的结果dataUsingEncoding:allowLossyConversion: NO 为第二个参数

  2. getCString 记录:maxLength:encoding:cStringUsingEncoding ::

    请注意, dataUsingEncoding:allowLossyConversion:返回的数据不是严格的 C 字符串,因为它没有 NULL 终止符