【问题标题】:converting a weird std::string into an NSString将奇怪的 std::string 转换为 NSString
【发布时间】: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


【解决方案1】:

事实证明,奇怪的字符表示在我的特殊情况下正在读取的不存在我正在读取映射键并且没有检查 find 命令是否返回了 myMap.end()。

感谢您抽出宝贵时间审查我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-07
    • 2011-12-21
    • 2011-04-02
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多