从服务端请求返回的是pdf文件的byte数组,怎么把pdf的byte数组转换成pdf文件保存在本地,然后通过webview预览.
试了很多都行不通,求指导。、
看到一篇文章里面的demo是这样处理的
NSString *pdfstr =@"37,80,68,70,45,49,46,51,10,50,32,48,32,111,98,106,10,60,60,10,47,84,121,112,101,32,47,69,120,116,71,83,116,97,116,101,10,47,83,65,32,102,97,108,115,101,10,47,79,80,32,102,97,108,115,101,10,47,72,84,32,47,68,101,102,97,117,108,116,10,62,62,10,101,110,100,111,98,106,10,52,32,48,32,111,98,106,10,60,60,10,47,76,101,110,103,116,104,32,53,32,48,32,82,10,47,70,105,108,116,101,114,32,91,32,47,70,108,97,116,101,68,101,99,111,100,101,32,93,10,62,62,10,115,116,114,101,97,109,10,120,-38,-59";
    //这个pdfstr字符串很长,由于帖子字数限制,就只贴上一部分
    
    
    NSArray *pdfArray=[pdfstr componentsSeparatedByString:@","];
    int len=[pdfArray count];
Byte *bytes=malloc(len);
    for (int i=0; i<len; i++) {
        int value=[[pdfArray objectAtIndex:i] intValue];
        *(bytes +i)=value & 0xff;
        NSLog(@"byte = %d",bytes[i]);
    } 
    
    NSData *pdfD=[[NSData alloc] initWithBytes:bytes length:len];
    
    NSLog(@"pdfD:%@",pdfD);
    
    NSString *path = [self pathFileForProcess:@"xxxxxx.pdf"];//document路径
    NSLog(@"----保存路径---------%@",path);    
    [pdfD writeToFile:path atomically:YES];
    [pdfD release];    // OK 存储完毕它这个demo里面的pdfStr字符串,该如何把从服务端获取的byte数组转换成类似于这个pdfStr的字符串呢

解决方案 »

  1.   

    先把 byte数组转为NSDataByte数组-> NSData
    Byte byte[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};
    NSData *adata = [[NSData alloc] initWithBytes:byte length:24];再把NSData转为NSString
    NSData-> NSString
    NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding];
      

  2.   

    NSData *pdfD=[[NSData alloc] initWithBytes:bytes length:len];
    直接这句话里面的参数bytes替换成服务器返回的字节数据,len对应改下, 不成么?