Swift개발

[Swift]Emoji 포함 문자 인코딩, 디코딩

녹차맛고양이 개발강좌 및 IT리뷰 2022. 5. 11. 10:36
    // nonLossyASCII > utf8
    func enc(_ inputStr:String) -> String{
        let data = inputStr.data(using: .nonLossyASCII, allowLossyConversion: true)!
        
        if let outputStr = String(data: data, encoding: .utf8){
            return outputStr
        } else{
            print("Encoding Failed")
            return ""
        }
    }
    
    // utf8 > nonLossyASCII
    func dec(_ inputStr:String) -> String{
        let data = inputStr.data(using: .utf8)!
        
        if let outputStr = String(data: data, encoding: .nonLossyASCII){
            return outputStr
        } else {
            print("Decoding Failed")
            return ""
        }
    }

 

 

아래는 사용 시 출력 예시입니다.

        let inputStr = "❤️"
        
        let encStr = enc(inputStr)
        
        let decStr = dec(encStr)
        
        print(encStr)
        print(decStr)