iOS Obj-C挂钩将十六进制转换为字符串

时间:2015-02-10 12:32:04

标签: ios objective-c theos

我试图在Theos中挂钩一个简单的函数:

- (_Bool)sendData:(id)arg1 {
    NSLog(@"%@", arg1);
    _Bool r = %orig;
    return r;
};

但我得到的输出是十六进制:

<3c736f61 70656e76 3a456e76 656c6f70 6520786d 6c6e733a 736f6170 656e763d>

我尝试过从堆栈溢出中找到的一些转换代码,但是没有运气打印ASCII文本。

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

从您的数据输出中,您的回复是:<soapenv:Envelope xmlns:soapenv=

if ([arg1 isKindOfClass:[NSData class])
{
    NSString *string = [[NSString alloc] initWithData:(NSData *)arg1 encoding:NSUTF8StringEncoding];
}

我尝试了各种编码,NSUTF8StringEncoding并不是唯一能给出正确答案的人。所以你可能想要检查哪一个是合适的。