我是一名年轻的iPhone开发人员,我正在尝试编写一个iPhone应用程序,它可以同步我mac上的服务器端应用程序中的数据,基本上是文本数据。
我无法通过以下方式在iPhone端读取数据:
`
(void)connectionReceived:(NSNotification *)aNotification {
NSFileHandle *incomingConnection = [[aNotification userInfo] objectForKey:NSFileHandleNotificationFileHandleItem];
[[aNotification object] acceptConnectionInBackgroundAndNotify];
NSData *receivedData = [incomingConnection availableData];
NSString *theString = [[[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding] autorelease];
`
我需要将theString打印到iPhone上的文本标签,但我得到的是在服务器端应用程序输入的文本的确切“十六进制代码翻译”,我似乎无法转换它去char。 有人可以帮忙吗?
答案 0 :(得分:0)
我不知道答案 - 但有几件事要看或尝试:
您是否尝试过转换为UTF8以外的其他内容? (Unicode?ASCII?)
在十六进制输出中它给出了 - 我假设它给出了UTF8表示 - 即字符串中每个字符的一个8位(两个十六进制半字节)代码。是这样的吗?对于字符串的UTF-8或ASCII表示,十六进制代码是否“正确”?
结果中是否有“坏”代码?
我想知道这是否正在发生,因为你的字符串中有字符(甚至可以隐藏的字符串 - 空值,无论如何),因此iOS无法进行“正常”的UTF8转换... < / p>