转换NSDATA时出现问题

时间:2010-11-13 21:10:59

标签: iphone objective-c xcode nsdata

我是一名年轻的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。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我不知道答案 - 但有几件事要看或尝试:

  1. 您是否尝试过转换为UTF8以外的其他内容? (Unicode?ASCII?)

  2. 在十六进制输出中它给出了 - 我假设它给出了UTF8表示 - 即字符串中每个字符的一个8位(两个十六进制半字节)代码。是这样的吗?对于字符串的UTF-8或ASCII表示,十六进制代码是否“正确”?

  3. 结果中是否有“坏”代码?

  4. 我想知道这是否正在发生,因为你的字符串中有字符(甚至可以隐藏的字符串 - 空值,无论如何),因此iOS无法进行“正常”的UTF8转换... < / p>