【发布时间】:2014-03-04 13:23:18
【问题描述】:
我有:
std::string string = "\xae\xab\xe30"(在 "\xe30" 序列继续之后)。
在为 iOS 设备上的音乐文件创建指纹后,此数据来自 echoprint-ios 库。此字符串包含zlib-压缩的base64 序列。
UPD:有时这个字符串可能包含.$\x18\x8a\x03 之类的数据,我也需要你的回答。
我需要:
将此字符串解析为NSString* 并将其传递给NSURL 以对 echoprint 服务进行查询。
怎么了:
我无法通过很多方法从这个 std::string 解析 NSString* 对象:
通过
[NSString stringWithCString:string.c_str() encoding:NSUTF8StringEncoding]创建 NSString 对象 - 它在 UTF8 上返回nil,类似于我需要的,但使用 UTF16/32 编码的数据不正确(但这绝对是错误的,它应该是 ascii/utf8 字符串imo),或者使用 NSAsciiStringEncoding 将其放置在带有不可读符号的 NSString 对象数据中(例如来自系统符号表)。输入标准 c 字符串的任何方法(因此它将是
string.c_str())
简历:
我需要帮助将这个字符串翻译成 NSString 对象。
【问题讨论】:
-
你检查过 echoprint 站点中的 iOS 示例吗?
-
正是这样 iOS 示例和所有其他示例(试图在 google、yandex 甚至 bing 上找到它们) - 他们都将
c string转换为 NSString* 但所有互联网都是旧示例。对于 iOS 6/7,它不起作用。
标签: c++ ios objective-c string nsstring