본문 바로가기
Developer/Python

Python URL Encode, Decode 하는 방법

by roqkfrlfhr 2022. 1. 1.

Python URL Encode, Decode 하는 방법

Python에서 문자열을 URL EncodeDecode 하는 방법을 알려드리도록 하겠습니다.

 

URL Encode / URL Decode

from urllib import parse

string_original = "안녕하세요 :)"
string_encoded = parse.quote(string_original)
string_decoded = parse.unquote(string_encoded)

print("기존 문자열 : ", string_original)
print("Encoded 문자열 : ", string_encoded)
print("Decoded 문자열 : ", string_decoded)

# Output
# 기존 문자열 :  안녕하세요 :)
# Encoded 문자열 :  %EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94%20%3A%29
# Decoded 문자열 :  안녕하세요 :)

urllib.parse.quote() 를 사용하여 URL Encode를 할 수 있고,

URL Encode 되어있는 문자열을 urllib.parse.unquote() 를 사용하여 URL Decode 할 수 있습니다.

 

 

urllib.parse.quote() / urllib.parse.unquote() Parameter

from urllib import parse

string_original = "안녕하세요 :)"
string_encoded = parse.quote(string_original, safe=":)", encoding="cp949")
string_decoded = parse.unquote(string_encoded, encoding="cp949")

print("기존 문자열 : ", string_original)
print("Encoded 문자열 : ", string_encoded)
print("Decoded 문자열 : ", string_decoded)

# Output
# 기존 문자열 :  안녕하세요 :)
# Encoded 문자열 :  %BE%C8%B3%E7%C7%CF%BC%BC%BF%E4%20:)
# Decoded 문자열 :  안녕하세요 :)

urllib.parse.quote() 에 존재하는 Parameter 에는 string, safe, encoding, errors,

urllib.parse.unquote() 에 존재하는 Parameter 에는 stringencodingerrors 가 있습니다.

 

safe인코딩 하지 않을 값을 입력합니다. default 값은 "/" 입니다.

예제에서 safe":)"을 입력하여 해당 문자들이 인코딩되지 않은 것을 확인하실 수 있습니다.

 

encoding인코딩 방식을 입력합니다. default 값은 "utf-8" 입니다.

예제에서 encoding"cp949"를 입력하여 "cp949" 방식으로 인코딩 된것을 확인하실 수 있습니다.

 

errors에러를 발생시키는 방법을 입력합니다.

urllib.parse.quote()default 값은 "strict", urllib.parse.unquote()default 값은 "replace" 입니다.

 

 

 

이상으로 Python에서 URL Encode 및 Decode 하는 방법에대한 설명을 마치도록 하겠습니다.

 

 

도움이 되셨다면 공감, 댓글 부탁드립니다!

궁금하신 점이나 요청사항은 언제든지 말씀해주세요!

피드백도 언제나 환영입니다!

 

감사합니다.


댓글