如何在Swift中将字符串转换为Unicode(UTF-8)字符串?
在Objective-C中,我可以这样写:
NSString *str = [[NSString alloc] initWithUTF8String:[strToDecode cStringUsingEncoding:NSUTF8StringEncoding]];
如何在Swift中做类似的事情?
如何在Swift中将字符串转换为Unicode(UTF-8)字符串?
在Objective-C中,我可以这样写:
NSString *str = [[NSString alloc] initWithUTF8String:[strToDecode cStringUsingEncoding:NSUTF8StringEncoding]];
如何在Swift中做类似的事情?
Swift 4和5我创建了一个String扩展
extension String {
func utf8DecodedString()-> String {
let data = self.data(using: .utf8)
let message = String(data: data!, encoding: .nonLossyASCII) ?? ""
return message
}
func utf8EncodedString()-> String {
let messageData = self.data(using: .nonLossyASCII)
let text = String(data: messageData!, encoding: .utf8) ?? ""
return text
}
}
let str = String(describing: strToDecode.cString(using: String.Encoding.utf8))
使用这段代码:
let str = String(UTF8String: strToDecode.cStringUsingEncoding(NSUTF8StringEncoding))
希望这有帮助。
qString
转换成使用 UTF-8 编码的 C 字符串。 - Manish Nahar