需要IOS中的MemoryStream c#

需要IOS中的MemoryStream c#,c#,objective-c,ios,stream,binary,C#,Objective C,Ios,Stream,Binary,我需要找到以下IOS代码的等价性 byte[] encodedMess; using (var stream = new MemoryStream()) { using (var writer = new BinaryWriter(stream)) { writer.Write(message.getType().ToString(); writer.Write(message.toJSONString()); } encodedM

我需要找到以下IOS代码的等价性

byte[] encodedMess;
using (var stream = new MemoryStream())
  {
    using (var writer = new BinaryWriter(stream))
    {
       writer.Write(message.getType().ToString();
       writer.Write(message.toJSONString());
    }
    encodedMess = stream.ToArray();
  } 
我已经尝试了一些技巧,并在互联网上找到了短裤代码,但没有任何效果:(

你是我最后的机会…我必须有一个像encodedMess这样的字节数组


感谢大家的帮助(对不起,我的英语很差)

您正在寻找的API名为
NSCoder
。在stackoverflow中,您可以找到数百个关于如何使用它的问题和示例。

尝试使用Coca Streams:

NSOutputStream *memoryStream = [NSOutputStream outputStreamToMemory];
[memoryStream open];
[memoryStream write:(uint8_t*)"Hello World" maxLength:11];
[memoryStream close];

NSData *data = [memoryStream propertyForKey:NSStreamDataWrittenToMemoryStreamKey];

void *buffer = calloc(12, 1);
NSInputStream *inputStream = [NSInputStream inputStreamWithData:data];
[inputStream open];
[inputStream read:buffer maxLength:11];
[inputStream close];

NSLog(@"%@", [NSString stringWithCString:buffer encoding:NSASCIIStringEncoding]);

你在iOS中的意思是什么?你需要把它翻译成目标c?我们不会为你写这个。你能告诉我们到目前为止你做了什么吗?我需要把一些类的信息放在字节数组中,但我是Obj c的初学者,我找不到任何解决方案。好的,thx。NSCoder变量将被用作流或二进制编写器?我需要要完全尊重encodedMessIf的c#格式,您必须尊重其他平台的二进制格式
NSCoder
将无法工作,因为它有自己的格式。您可以使用
NSOutputStream
,但您必须自己创建数据的二进制表示。(字符串的长度是如何存储的?必须使用哪个字节顺序?等等):O这正是我所期望的..获得相同的二进制表示法是一项艰巨的工作..我读到我无法将字符串转换为二进制。对吗?因为我需要转换int、string、boolDo您是否有NSOutputStream的示例?我正在尝试找到解决方案,但我没有:(