将Byte,short int,int转换为NSData或NSMutableData而不转换为NSString

时间:2011-10-19 06:03:00

标签: ios

我正在MAC OS中进行套接字编程,我可以在其中打开套接字,但在向服务器发送请求时遇到类型cat问题,如下所述:

如果我们在下面给出的NSString中有一些值:

NSString *Message=@"abc";

当我将其转换为NSData或NSMutableData时:

NSData *data = [[NSData alloc] initWithData:[Msg dataUsingEncoding:NSASCIIStringEncoding]];

如果我想将此NSData读入字符串,此消息现在转换为NSData,我可以阅读如下:

NSString *myString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

现在的问题是我有值= 2和值= 300,它们代表了服务器的数据类型和请求类型(当我们向服务器发送请求时)。 我必须在一个字节中转换value = 2,它不应超过1字节大小。所以我把数据类型字节如下所示:

Byte value = 2;

现在我需要知道如何将Byte转换为NSData而不转换为NSString然后转换为NSData(否则2被视为字符串,字节转换可能不同)和

我在一个字节中转换另一个值= 300,它不应超过2个字节大小。所以我采用了数据类型short int,如下所示:

short int j = 300;

现在我还需要知道如何将Byte转换为NSData而不转换为NSString然后转换为NSData(否则将300视为字符串,字节转换可能会有所不同)。

实际上在我们的服务器中,我们有一个数组,其中第一个字节表示第一个数据类型,2表示一个字节大小,另一个值= 300表示两个字节大小。我需要知道如何将Byte和short int转换为NSData,并且在转换为NSData之后,我想将NSData转换为Byte和short int值,就像我们在NSString情况中所做的那样,如我在起始行中提到的示例。因为我必须发送所有这些NSMutableData相互附加,并且还包括一个要附加NSMutableData的Nsstring并作为请求发送到服务器。如果有人对这个问题有所了解,请帮助我。

由于

1 个答案:

答案 0 :(得分:0)

您可以使用dataWithBytes从字节和字节创建NSData,以将NSData转换为字节数组。 有关此内容,请参阅Apple's Dev Doc