【问题标题】:iOS : How to do proper unicode escape conversion for NSString?iOS:如何为 NSString 进行正确的 unicode 转义转换?
【发布时间】:2013-07-26 14:18:40
【问题描述】:

在开始阅读问题之前,您必须了解这一点,以便您轻松理解问题,

我有两个字符串 verrÃverrà [查看两个字符串中的最后一个字符 -- 唯一的区别]


我有这两个字符串 verrà blah blahverrà blah blah。按照我的要求,我需要根据条件显示 verrà blah blah,所以我需要将“verrÔ转换为“verrà”,我发现它的 unicode 字符,我可以转换通过执行以下操作,

//here, strText = @"verrà blah blah";
NSString *correctString = [NSString stringWithCString:[strText cStringUsingEncoding:NSISOLatin1StringEncoding] encoding:NSUTF8StringEncoding];

它对verrà blah blah 工作正常,将其转换为verrà blah blah,但后来我发现由于上面的代码,它停止转换已经正确的字符串verrà blah blah,因为当这个已经正确的字符串通过时到上面的代码,它将是空的!

我做错了什么?

【问题讨论】:

  • 您要执行的操作到底是什么?这是案例转换还是其他?
  • 我要展示一个很长的字符串,上面的单词只是那个字符串的一部分。当我使用上面添加的代码转换verrà 时遇到问题。对于verrÃ,它工作得很好。除了上面两个词之外,两个字符串都是一样的。
  • 你的目标不明确。您在这里的一般需求是什么?将一种编码的 C 字符串转换为具有不同编码的 NSString 是没有意义的。它会失败。
  • @rmaddy,我只想显示我从响应中得到的字符串。就是这样!我通过谷歌搜索并找到了上述解决方案,但这在不同的情况下会产生问题,我已经解释过了。如果您需要了解更多信息,请告诉我。
  • 如果你只需要显示字符串那么为什么这个问题要转换它?

标签: ios unicode-string nsstringencoding


【解决方案1】:

我终于想通了,

label.text = [label.text stringByReplacingOccurrencesOfString:@"Ã" withString:@"à"];

我知道了,有些问题真的不需要太多的关注或回答。我知道这是一个补丁而不是正确的方法,但现在很有帮助并且可以节省时间。感谢所有出席的人。 :)

我仍在为此类对话寻找一些广泛的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    相关资源
    最近更新 更多