我正在使用谷歌协议缓冲区将一些数据从 C++ 服务器发送到 IOS 应用程序。我在 IOS 端使用这个函数将流字节转换为字符串:
-(NSString*)convertStreamBytesToString:(NSMutableData*)data
{
int len = [data length];
char raw[len];
[data getBytes:raw length:len];
NSString *protocStruct =[[NSString alloc] initWithBytes:raw length:len encoding:NSUTF8StringEncoding];
return protocStruct;
}
我的问题是有时这不起作用。我可以看到我发送和接收了所有字节,但是在转换时其中一些字节丢失了。例如,我得到 83 个字节,但在打印字符串时,我得到大约 20 个字符。其余的在哪里?这种转换方法有我不知道的问题吗?