开发者社区> 问答> 正文

iOS NSString与UInt8的转换问题

我在iOS里面通过这个NSString转buff_name

NSString *room_name=@"我是谁我是谁";
UInt8 buff_name[1024];
memcpy(buff_name, [room_name UTF8String],[room_name length]+1);
NSLog(@"%s",buff_name);
得到:ÊàëÊòØË
然后我在另一个里面要将这个buff_name转回成NSString,怎么破?

展开
收起
a123456678 2016-07-27 11:25:52 2920 0
1 条回答
写回答
取消 提交回答
  • NSString *room_name = @"我是谁我是谁";
    UInt8 buff_name[1024];
    memcpy(buff_name, [room_name UTF8String],[room_name lengthOfBytesUsingEncoding:NSUTF8StringEncoding] + 1);
    //|UTF8String|返回是包含\0的  |lengthOfBytesUsingEncoding|计算不包括\0 所以这里加上一
    printf("%s", (char *)buff_name);
    NSString *result = [NSString stringWithCString:(char *)buff_name encoding:NSUTF8StringEncoding];
    NSLog(@"%@", result);
    2019-07-17 20:00:27
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载