Mobile/iOS
iOS. URL에 한글을 넣는 사람들을 위한 방어.
out of coding
2019. 8. 15. 10:02
URL은 웬만하면 영어와 숫자와 언더바정도로 이루어지게 됩니다.
그런데 한글이나 특수문자를 넣어주는 사람들이 있는데요.
그래서 이런 사람들을 방어해주어야 합니다.
* 인코딩 할때
let original = "http://www.daum.net?query=한글"
guard let target = original.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {
// 인코딩중 에러가 발생함
return
}
guard let url = URL(string: target) else {
// URL로 만들다가 에러가 발생함
return
}
// url을 가지고 request code는 여러분의 것.
* 디코딩 할때
guard let target = encoded.removingPercentEncoding else {
// 디코드된 값이 nil
return
}
// 나머지 코드는 여러분의 것.
* 옵션
Enum Option | 사용 가능 Character |
.urlUserAllowed | Alphabet 숫자 ! $ & ' ( ) * + , - . ; = _ ~ |
.urlPasswordAllowed | == .urlUserAllowed |
.urlHostAllowed | == .urlUserAllowed |
.urlPathAllowed | == .urlUserAllowed + (: @ /) - (;) |
.urlQueryAllowed | == .urlUserAllowed + (: @ ?) |
.urlFragmentAllowed | == .urlUserAllowed + (: @ ?) |