如何在目标c中将NSArray转换为NSString?

时间:2016-03-04 08:19:40

标签: ios objective-c nsarray nsdata

我有一些java服务器端代码创建一个字符串(例如Hello world),然后将此字符串转换为字节数组,最后发送到iOs客户端。

我的iOs客户端使用NSStream来读取数据并获取数组。 现在我想从数组中获取原始字符串。

我该怎么做?

我尝试将数组转换为NSData然后转换为NSString,但它失败了。 我也尝试将数组转换为字符串,但它似乎将数组中的数字转换为字符串数而不是我期望的字符串'Hello world'。

1 个答案:

答案 0 :(得分:0)

您应该将JSON更改为:{"type":"PONG","content":"478773035"]}而不是。{/ p>

然而,这样的事情可能有用:

uint8_t * const buffer = (uint8_t*)calloc( 1, [ bytes count ] + 1 )
assert( buffer ) ;

size_t index = 0 ;
for (NSNumber * byteNumber in bytes)
{
    buffer[ index ] = (uint8_t)[ byteNumber unsignedCharValue ] ;
    ++index;
}

NSString * const string = [ NSString stringWithUTF8String:buffer ];

free( (void*)buffer );