【问题标题】:Convert NSArray of bytes to NSData将字节的 NSArray 转换为 NSData
【发布时间】:2011-09-07 20:11:58
【问题描述】:

我正在尝试从 REST 服务下载 Objective-C 中的文件,但遇到了一些问题。现在,该服务以 JSON 格式返回一个 byte[]。我能够使用 json-framework 获取数组。

NSURL *url = [NSURL URLWithString:@"http://192.168.10.215:8888/Service/RO/GetAllTheBytes/test.txt"];
NSString *str = [[NSString alloc] initWithContentsOfURL:url];
NSDictionary *jsonDic = [str JSONValue];
NSArray *fileContents = [jsonDic objectForKey:@"fileContents"];

现在我想使用这个字节数组来创建一个文件,但是我在创建文件时遇到了麻烦。我应该将NSArray 转换为NSData,以及如何转换?

【问题讨论】:

  • 为什么要将文件内容保存在NSArray 中?我想NSString 会是更好的选择。而NSString可以在需要的时候转换成byte[]
  • JSON 没有字节类型。你返回的可能是一个数字数组、一个十六进制数字字符串、一个 base64 编码的字符串,还是其他什么?
  • 我看到了一个数字数组。
  • @Nekto - 你如何将 NSString 转换为 byte[]?

标签: objective-c ios nsarray bytearray


【解决方案1】:

更改您的服务以返回 Base64 字符串。市面上有一堆 Objective-C Base64 解码器,其中一些还不错。

NSNumber 的 NSArray 真的真的 真的愚蠢,最小的空间开销约为 300%(虽然不如 JRA-11693 糟糕)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 2012-05-28
    • 2011-08-31
    • 1970-01-01
    相关资源
    最近更新 更多