Swiftで文字列をunicode(UTF-8)文字列に変換する方法は?
Objectiveでは、そのようなsmthを書くことができます:
NSString *str = [[NSString alloc] initWithUTF8String:[strToDecode cStringUsingEncoding:NSUTF8StringEncoding]];
swiftで似たようなことをする方法は?
このコードを使用して、
let str = String(UTF8String: strToDecode.cStringUsingEncoding(NSUTF8StringEncoding))
その役に立つことを願って
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
}
let str = String(describing: strToDecode.cString(using: String.Encoding.utf8))
スイフト
let esc_str = str.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed)