2013-03-06 46 views
0

我需要将NSString转换为字节 - 通过tcp发送。NSString与NSData的字节?

NSString *dataS= @"ran"; // is in byte 114 97 110 

,但如果我用NSData把它转换(我需要它作为一个NSData末,因为我加入多个NSData的公司)有:

NSData *requestData = [dataS dataUsingEncoding:NSUTF8StringEncoding]; 

我得到:<72616e>登录解决方案时。并不是如此。 我可能在这里错过了一些东西。

使用:[ToSend characterAtIndex:k]来转换它,给整数 - 我想使用NSData进行转换。 我该怎么做?

回答

3

您以正确的方式转换字符串。 requestData包含三个字节。在输出中,这些字节以十六进制显示:十六进制中的72是十进制的114,十六进制中的61是十进制中的97,十六进制中的6e是十进制110。

要将字节传递给更低级别的方法,您可以通过调用[requestData length]和通过调用[requestData bytes]来获取数据的长度。

0

你做得很对,日志显示它就是这样,因为它是记录器合成输出的方式,就这样。

114 97 110以字节为单位是< 72616e> in Hex。

+1

对!我错过了114 dec == 72 hex – 2013-03-06 10:14:34