안드로이드 서버 통신을 하다 보면 가끔 "%EC%AD~~" 이런 식으로 응답이 오는 경우가 있다.
보통 응답 값이 특수문자 이거나 한글일때 발생한다.
URL Encoding이란 URL에서 URL로 사용할 수 없는 문자나 URL로 사용할 수 있지만 의미가 왜곡 될 수 있는 문자들을 "%XX" 형태로 변환한다 (여기서 XX는 16진수)
코틀린에서 URL Encoding을 하는 방법을 알아보자.
자바 표준 라이브러리의 URLEncoder / URLDecoder를 통해 쉽게 인코딩, 디코딩을 할 수 있다.
// 클래스 호출
import java.net.URLEncoder
import java.net.URLDecoder
// 함수 자체 호출
import java.net.URLEncoder.encode
import java.net.URLDecoder.decode
// 인코딩
fun encode(url: String) = URLEncoder.encode(url, "UTF-8")
// 디코딩
fun decode(url: String) = URLDecoder.decode(url, "UTF-8")
// 함수로 바로 사용도 가능
fun decode(url: String) = decode(url, "UTF-8")
'Language > Kotlin' 카테고리의 다른 글
더블 콜론 참조(::) (0) | 2024.05.09 |
---|---|
[Kotlin] Coroutine (2) | 2024.03.07 |
Sealed Class (0) | 2023.09.15 |
[Kotlin] Scope function (0) | 2023.07.31 |