Objective c 我如何才能显示NSDATA描述,而不是十六进制,而是人类可重新定义的文本?

Objective c 我如何才能显示NSDATA描述,而不是十六进制,而是人类可重新定义的文本?,objective-c,Objective C,我正在编写一个从udp套接字接收数据的iphone应用程序,我可以使用NSDATA description显示我接收到的数据,但它是十六进制格式的,例如,它如下所示: 我知道这是一个复杂的过程,如何转换它?我假设您只想调试二进制数据。如果不是这样的话,我下面所描述的将不会非常有用 NSString * s = [[[NSString alloc] initWithData:yourData encoding:NSUTF8StringEncoding] autorelease]; 我喜欢的一种

我正在编写一个从udp套接字接收数据的iphone应用程序,我可以使用NSDATA description显示我接收到的数据,但它是十六进制格式的,例如,它如下所示:


我知道这是一个复杂的过程,如何转换它?

我假设您只想调试二进制数据。如果不是这样的话,我下面所描述的将不会非常有用

NSString * s = [[[NSString alloc] initWithData:yourData encoding:NSUTF8StringEncoding] autorelease];
我喜欢的一种技巧是使用。复制那个大的二进制转储文件(尖括号内的所有内容),并将其粘贴到新创建的0xED文档中。你会得到一个很好的十六进制编辑器视图


0xED还支持用户定义的插件,它可以帮助可视化二进制数据(例如,)

,如果数据不表示UTF-8字符串,则二进制数据将失败。@JeremyP correct;您需要对所拥有的数据使用正确的字符串编码。我发现NSUTF8是一种不错的默认编码。