当前位置: 首页 > 面试题库 >

Swift UTF8编码和非UTF8字符

红鸿运
2023-03-14
问题内容

我有一些来自json文件的文本。在本文中,我应用了UTF8编码,但是该编码器无法识别非标准字符,àèìòù并且为大写字符,是否有一种方法可以净化我的字符串?

我的功能:

func stringToUTF8String (stringaDaConvertire stringa: String) -> String {
    let encodedData = stringa.dataUsingEncoding(NSUTF8StringEncoding)!
    let attributedOptions = [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType]
    let attributedString = NSAttributedString(data: encodedData, options: attributedOptions, documentAttributes: nil, error: nil)!
    //println(attributedString.string)
    return attributedString.string
}

问题答案:

我找到了解决方案。

UTF8采用8位表ASCII表,而UTF16采用16位ASCII表,解决方案很简单,只需将函数修改为:

func stringToUTF16String (stringaDaConvertire stringa: String) -> String {
    let encodedData = stringa.dataUsingEncoding(NSUTF16StringEncoding)!
    let attributedOptions = [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType]
    let attributedString = NSAttributedString(data: encodedData, options: attributedOptions, documentAttributes: nil, error: nil)!
    //println(attributedString.string)
    return attributedString.string
}


 类似资料:
  • 我有点小麻烦。我正在基于jetty websockets实现用java构建一个小型服务器。客户端是浏览器,我使用websockets javascript API发送信息。 在我发送这些特殊字符之前,一切都很顺利,比如:euroweaheñü,所以问题就在这里。客户端1向服务器发送带有以下字符之一的消息。服务器打印该消息,然后将该消息发送给客户机2。 客户机2接收消息并在浏览器html页面上打印消

  • 出于测试的目的:当它解析数据时,我将一些数据输出到一个呈现完美的浏览器。。 然后我试着用php将它写到一个文件中,如下所示- 和 和

  • 对于Java/general中有关此概念的任何好的参考资料,我们将不胜感激。

  • 问题内容: 输出: 请帮助我理解这一点。试图了解utf8编码在Java中的工作方式。按照char 字符的 java doc定义 :char数据类型是单个16位Unicode字符。 这是否意味着Java中的char类型只能支持那些可以用2个字节表示的unicode字符,且不能超过2个字节? 在上面的程序中,为该字符串分配的字节数为3,但是在返回第一个字符的第三行中(java中为2个字节)可以容纳3个

  • 问题内容: 我在ColdFusion和JSON方面遇到一些问题。我的用户的文件名和其他关键字带有类似字符的字符,当我不得不通过JSON将其传递回时,这让我很痛苦。 当我在变量上使用magic JSON命令时: 被吐出来的角色是 ,这对任何人都没有好处。 我有什么办法可以保护用户的权益? 问题答案: 您需要在CFCONTENT标记中指定字符集。我在没有 字符集的 Google Chrome浏览器中尝

  • 问题内容: 我有一个套接字服务器,应该从客户端接收UTF-8有效字符。 问题是某些客户端(主要是黑客)正在通过它发送所有错误的数据。 我可以轻松地区分真正的客户端,但是我会将所有发送的数据记录到文件中,以便以后进行分析。 有时我会得到这样的导致错误的字符。 我需要能够使带有或不带有这些字符的字符串UTF-8。 更新: 对于我的特殊情况,套接字服务是MTA,因此我只希望接收ASCII命令,例如: 我