小编use*_*127的帖子

将 uint8_t 转换为 NSString

刚开始学习objective-c,并试图将字节数组转换为UTF8 NSString,但一直为nil/null。
这是缩写的代码示例。

enum {
  TMessageType_CALL = 1,
  TMessageType_REPLY = 2,
  TMessageType_EXCEPTION = 3,
  TMessageType_ONEWAY = 4
};

int32_t VERSION_1 = 0x80010000;

int value = VERSION_1 | TMessageType_CALL;
uint8_t buff[4];
buff[0] = 0xFF & (value >> 24);
buff[1] = 0xFF & (value >> 16);
buff[2] = 0xFF & (value >> 8);
buff[3] = 0xFF & value;

  //Convert buff to NSString with offset =0, length =4
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法。

NSString *t = [[NSString alloc] initWithBytes:buff length:4 encoding:NSUTF8StringEncoding];
NSString *t1 = [NSString stringWithUTF8String:(char *)buff]; …
Run Code Online (Sandbox Code Playgroud)

encoding objective-c character-encoding nsstring ios

2
推荐指数
1
解决办法
4159
查看次数