需要IOS中的MemoryStream c#
我需要找到以下IOS代码的等价性需要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
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的示例?我正在尝试找到解决方案,但我没有:(