【发布时间】:2014-10-04 00:00:47
【问题描述】:
我有一个奇怪的情况,我试图将 std::string 转换为 NSString。
我尝试了通常有效的常用方法,即: [NSString stringWithUTF8String: myCppString.c_str()];
但是,我没有得到任何回报。我认为这与奇怪的角色有关。这主要是因为我在调查的数据中看到了以下内容:
注意倒置的问号。我尝试了另一个在查看 SO 时发现的调用,但它也不起作用:[NSString stringWithCString:myCppString encoding:NSUTF8StringEncoding];
我可以将字符串打印为 const char * 和 std::string,正如您从日志中看到的那样。如果有任何影响,c++ 字符串是用 ostringstream 制作的。数据来自应该是 UTF-8 的服务器,并通过 json 输入到 sqlite 数据库中。
您对如何让 NSString 工作有什么建议吗?
=== [编辑] === 这就是十六进制数据出现的一个特殊原因,带有颠倒的问号。
【问题讨论】:
-
十六进制转储有助于确定编码和不可打印的字符。
-
如果您提供十六进制转储,请将其复制/粘贴到您的问题中。
标签: c++ objective-c nsstring stdstring