Programer/iOS

[Swift] UrlEncoding UTF-8

아즈샤 2015. 12. 21. 12:23
반응형

한글을 URL로 서버로 전송시 필요한 익스텐션입니다.

이것을 사용하면 편하게 UTF로 변환하여 사용 할 수 있습니다.


extension String {

    func URLEncodedString() -> String? {

        let customAllowedSet =  NSCharacterSet.URLQueryAllowedCharacterSet()

        let escapedString = self.stringByAddingPercentEncodingWithAllowedCharacters(customAllowedSet)

        return escapedString

    }

    static func queryStringFromParameters(parameters: Dictionary<String,String>) -> String? {

        if (parameters.count == 0)

        {

            return nil

        }

        var queryString : String? = nil

        for (key, value) in parameters {

            if let encodedKey = key.URLEncodedString() {

                if let encodedValue = value.URLEncodedString() {

                    if queryString == nil

                    {

                        queryString = "?"

                    }

                    else

                    {

                        queryString! += "&"

                    }

                    queryString! += encodedKey + "=" + encodedValue

                }

            }

        }

        return queryString

    }

}


출처 : http://stackoverflow.com/questions/24551816/swift-encode-url


또한 저 익스텐션을 사용 하면 %를 허용해줘야 하는데 허용 하는 방법은 다음과 같습니다.

urlRequest = originalUrlRequest.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())!


자세한 내용은  http://stackoverflow.com/questions/24551816/swift-encode-url 확인할 수 있습니다.

반응형