ios - 将 Byte、short int、int 转换为 NSData 或 NSMutableData 而不转换为 NSString

标签 ios

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

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

NSString *Message=@"abc";

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

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

如果我想将这个 NSData 读入字符串,这里 Message 现在被转换为 NSData,我可以如下阅读:

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

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

Byte value = 2;

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

我已经在一个字节中转换了另一个 value=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 相互附加并包括一个 Nsstring 以附加 NSMutableData 并作为请求发送到服务器。如果有人对此问题有任何想法,请帮助我。

谢谢

最佳答案

您可以使用 dataWithBytes 从字节和字节创建 NSData 以将 NSData 转换为字节数组。 引用Apple's Dev Doc为此。

关于ios - 将 Byte、short int、int 转换为 NSData 或 NSMutableData 而不转换为 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7817169/

相关文章:

ios - 将对象传递给选项卡应用程序中的另一个 View Controller

ios - 滚动条始终可见

ios - Sinch didReceiveIncomingCall 从未调用过

ios - 如何在 iOS 中预加载 UIWebView?

ios - iOS 中的非典型左侧菜单(附有屏幕)

ios - 解析 : User and error both nil with logInInBackgroundWithReadPermissions()

ios - iOS 中从一个 View Controller 返回到另一个 View Controller 时对象返回 null

ios - 推送导航动画而不重叠 UIViewControllers

ios - 带有 NavigationBarHidden 的导航 Controller

iPhone - iPhone 无法振动