iphone - 将 NSData 转回纯文本 NSString

标签 iphone nsstring nsdata

我有一个简单的 NSString,我将其转换为 NSData :

NSData *data = [[NSData dataWithBytes:[[NSString stringWithFormat:@",%@",self.targetId] dataUsingEncoding:NSASCIIStringEncoding] 
                              length:[[NSString stringWithFormat:@",%@",self.targetId] lengthOfBytesUsingEncoding:NSASCIIStringEncoding]] retain];

现在我想从 NSData 对象中获取纯文本。
如果我这样做:

NSString* dataStr = [NSString stringWithFormat:@"%@",data];

-我只得到一个十六进制表达式(即 <9c3f473e 02000000 0b0000>),而不是我想要的纯字符串!

我也尝试过使用 initWithData -

    NSString* dataStr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];

但无论我给它哪种编码,它总是显示乱码。

你能帮忙吗? :)

最佳答案

您需要将第一个代码片段简化为:

NSData *data = [[NSString stringWithFormat:@",%@",self.targetId] dataUsingEncoding:NSASCIIStringEncoding] 

然后你的第二个解码片段就会起作用:

NSString* dataStr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];

关于iphone - 将 NSData 转回纯文本 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4767420/

相关文章:

ios - 单个应用程序二进制文件如何支持 64 位和 32 位应用程序

ios - 关于CS193P作业1的问题

iphone - 在另一个类中更改 NSString 时更新 UILabel 文本

ios - 在 ARC 下使用 dispatch_write 将 NSData 写入后台唯一文件

objective-c - 为 iphone 创建自定义 pdf 查看器

iphone - Xtify框架和ASI-HTTP请求重复符号

Objective-C 重用 NSString 内存泄漏

ios - 将 NSString 分成两部分(最后一个斜线之前和之后)

iphone - 修改文件 iOS 中的数据(字节)

objective-c - 使用 NSData 时出现连接问题如何处理?