【问题标题】:How can I convert this string to NSString?如何将此字符串转换为 NSString?
【发布时间】:2015-12-11 16:40:29
【问题描述】:

我得到了以下 UUID 值:

0x70, 0x29, 0x78, 0x89, 0x64, 0xc4, 0x47, 0x67, 0xa1, 0x9a, 0x4a, 0x9f, 0xe4, 0x2b, 0xf9, 0x05

这是硬件开发者使用过的编码功能

const UUID MY_SERVICE_UUID = createUuid({ 0x70, 0x29, 0x78, 0x89, 0x64, 0xc4, 0x47, 0x67, 0xa1, 0x9a, 0x4a, 0x9f, 0xe4, 0x2b, 0xf9, 0x05 });

我认为这是用十六进制表示的。它是否正确?

我需要将以上内容翻译成NSString 才能使用它。这样做有什么帮助吗?

【问题讨论】:

  • 你到底想要什么:@"702978..." 还是“解释值”(例如,如果它实际上是NSData 之类的)?
  • 显示这些字节包含在其中的数据结构。他们还使用什么编码?
  • 我添加了硬件开发者使用的编码功能
  • OK 显示UUID 的声明(可能由于某种原因与uuid_t 不同)。

标签: objective-c nsstring hex type-conversion


【解决方案1】:

这看起来像 UUID 字节的十六进制表示。如果字节顺序正确,您可以像这样构造NSString

const unsigned char uuidBytes[] = {0x70, 0x29, 0x78, 0x89, 0x64, 0xc4, 0x47, 0x67, 0xa1, 0x9a, 0x4a, 0x9f, 0xe4, 0x2b, 0xf9, 0x05};
NSUUID *uuid = [[NSUUID alloc] initWithUUIDBytes:uuidBytes];
NSString *uuidString = [uuid UUIDString];

【讨论】:

  • 谢谢,Xcode 告诉我删除“[]”。它是否正确?我想我需要找到一个无符号字符数组的正确初始化函数..
  • @mm24 啊,你是对的,[] 去另一边。
  • 感谢您的回答。顺便说一句,我对您的网络配置文件印象深刻 300k 的声誉,前 0.01%。你一定在硅谷的一些顶级公司工作:-)
  • @mm24 :) 我不再在硅谷,但我确实为那里的三个不起眼的初创公司工作。祝你的项目好运!
猜你喜欢
  • 1970-01-01
  • 2015-11-22
  • 2015-11-30
  • 2011-12-22
  • 1970-01-01
  • 1970-01-01
  • 2013-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多