检测字符串中的â

时间:2016-08-23 15:25:54

标签: ios objective-c ios10

我正在尝试检测Objective C中字符串中的字符.navigation { background: transparent; position: absolute; } .navigation.scroll { background-color: #E6C0E9; position: fixed; opacity: 0.9; } ,但似乎无法使其工作。当它最终显示在屏幕上时显示一个子弹点,所以也许这就是为什么我无法检测到它?

在iOS 10中,这些项目符号显示的大于它们的大小,因此我需要找到每个字符的范围,并使它们的尺寸变小一些。我尝试了以下内容:

â

最让我感兴趣的是当我从API响应中复制并粘贴时:[inputString contains:@"â"] [inputString contains:@"•"] [inputString contains:@"\u00b7"] [inputString contains:@"\u2022"] 。该字符串中实际上有4或5个空格,但是当我从JSON中回来时它们会被截断 - 我不知道为什么但是我觉得这与为什么我无法识别字符串包含该字符有关

有关如何正确处理此角色的任何想法?

编辑:更多细节,这是从API发回的字符串:

[inputString contains:@"â "]

我注意到一些奇怪的东西,当我编辑响应并添加更多带有帽子的那些时,它们会被移动到子弹点,但是当我在代码中将它们添加到字符串中时,它们显示为简单的子弹点。也许他们是以某种方式编码的?虽然我在代码中没有看到可能发生的任何地方,所以我对这里发生的事情感到有些困惑。

编辑2:这是一行的十六进制,这对你们中的一些人来说可能比对我更有用:

â All of your exclusive deals in one place\nâ More deals matched specifically to you\nâ Get alerts to know when new deals are available or your saved deals are expiring"

2 个答案:

答案 0 :(得分:1)

  

我正在尝试在字符串

中检测字符â

您的文字中没有“â”,因此无需检测。 e2 97 8f是一个子弹角色,“●”。您的问题是您没有正确设置编码。

答案 1 :(得分:1)

转储中的字节e2 97 8f是U + 25CF,BLACK CIRCLE的UTF8编码。当被解释为ISO-8859或Windows-1252时e2是a(一种抑扬),97是一个短划线,并且8f未使用。

这表明JSON本身是UTF8,并且某处的解释方式不同,可能是上述编码之一。您需要检查代码和完整服务器响应(有关后者导致问题的示例,请参阅问题JSON character encoding)。