web-dev-qa-db-ja.com

Swiftで文字列をunicode(UTF-8)文字列に変換する方法は?

Swiftで文字列をunicode(UTF-8)文字列に変換する方法は?

Objectiveでは、そのようなsmthを書くことができます:

NSString *str = [[NSString alloc] initWithUTF8String:[strToDecode cStringUsingEncoding:NSUTF8StringEncoding]];

swiftで似たようなことをする方法は?

11
Dirder

このコードを使用して、

let str = String(UTF8String: strToDecode.cStringUsingEncoding(NSUTF8StringEncoding))

その役に立つことを願って

8
Iyyappan Ravi

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
}
8
Gurjinder Singh

スウィフト4:

let str = String(describing: strToDecode.cString(using: String.Encoding.utf8))
6

スイフト

let esc_str = str.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed)
1
Yair Levi