2014-10-04 134 views
0

我有一个奇怪的情况,我试图将std :: string转换为NSString。将奇怪的std :: string转换为NSString

我已经尝试了一般的工作原理: [NSString stringWithUTF8String:myCppString.c_str()];

但是,我得到零返回。我认为这与奇怪的角色有关。这主要是因为我已经看到了关于调查数据如下:

enter image description here

通知倒置的问号。我尝试了另一个调用,通过SO浏览时发现,但它也无效:[NSString stringWithCString:myCppString encoding:NSUTF8StringEncoding];

我可以像从日志中看到的那样,将字符串作为const char *和std :: string打印出来。如果有任何影响,C++字符串是用ostringstream创建的。数据来自应该是UTF-8的服务器,并通过json传入sqlite数据库。

你对如何让NSString工作有什么建议吗?

=== [编辑] === 这是什么出现了十六进制数据为一个特定的原因与颠倒的问号。

enter image description here

+1

十六进制转储将有助于确定编码和不可打印的字符。 – zaph 2014-10-04 00:24:07

+0

如果您提供十六进制转储,请将其复制/粘贴到您的问题中。 – zaph 2014-10-04 11:02:13

回答

0

事实证明,怪异的字符表示,目前正在读在我的具体情况我正在读一本地图键,并没有检查find命令返回的myMap.end(不存在)。

谢谢你的时间在审查我的问题。