如何在Swift中将字符串转换为unicode(UTF-8)字符串?

Dir*_*der 11 unicode utf-8 utf-16 ios swift

如何在Swift中将字符串转换为unicode(UTF-8)字符串?

在目标中我可以像这样写smth:

NSString *str = [[NSString alloc] initWithUTF8String:[strToDecode cStringUsingEncoding:NSUTF8StringEncoding]];
Run Code Online (Sandbox Code Playgroud)

如何在Swift中做类似的smth?

Iyy*_*avi 8

使用此代码,

let str = String(UTF8String: strToDecode.cStringUsingEncoding(NSUTF8StringEncoding))
Run Code Online (Sandbox Code Playgroud)

希望它有所帮助

  • `let cString = qString.cString(using:String.Encoding.utf8)` (6认同)

Gur*_*ngh 8

Swift 4我创建了一个String扩展

func utf8DecodedString()-> String {
     let data = self.data(using: .utf8)
     if let message = String(data: data!, encoding: .nonLossyASCII){
            return message
      }
      return ""
}

func utf8EncodedString()-> String {
     let messageData = self.data(using: .nonLossyASCII)
     let text = String(data: messageData!, encoding: .utf8)
     return text
}
Run Code Online (Sandbox Code Playgroud)


Ale*_*ano 7

斯威夫特4:

let str = String(describing: strToDecode.cString(using: String.Encoding.utf8))
Run Code Online (Sandbox Code Playgroud)