저것은 단순히 UTF-8로 '인코딩'한 것이 아니라, URL에서 사용할 수 있도록 'urlencode'한 문자열입니다. 이걸 처리해 주는 urllib2.quote 메서드를 사용해야 합니다.
파이썬 2를 사용하신다면 이렇게 하면 됩니다.
import urllib2 a = urllib2.quote('서울') print a '%EC%84%9C%EC%9A%B8'
파이썬 2의 경우 '서울'이 UTF-8로 인코딩된 형태로 저장되기 때문에 별도의 처리를 할 필요는 없습니다. 만약 다른 인코딩을 사용하여 퍼센트 인코딩으로 변환하려면 이렇게 하면 됩니다.
import urllib2 a = urllib2.quote('서울'.decode('utf-8').encode('cp949')) print a '%BC%AD%BF%EF'
.decode 부분에는 파일의 입력 인코딩, .encode 부분에는 대상 인코딩을 입력하면 됩니다.
파이썬 3을 사용하신다면 모든 문자열은 기본적으로 유니코드로 저장되므로 .decode 부분이 필요하지 않습니다. 그리고 quote 메서드의 위치가 변경되었습니다.
import urllib a = urllib.parse.quote('서울'.encode('utf-8')) print(a) '%EC%84%9C%EC%9A%B8' b = urllib.parse.quote('서울'.encode('cp949')) print(b) '%BC%AD%BF%EF'
감사합니다.
import urllib2 a = ['가', '나다', '라마바', '사아자차'] b = [urllib2.quote(x) for x in a] print b ['%EA%B0%80', '%EB%82%98%EB%8B%A4', '%EB%9D%BC%EB%A7%88%EB%B0%94', '%EC%82%AC%EC%95%84%EC%9E%90%EC%B0%A8']
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
저것은 단순히 UTF-8로 '인코딩'한 것이 아니라,
저것은 단순히 UTF-8로 '인코딩'한 것이 아니라, URL에서 사용할 수 있도록 'urlencode'한 문자열입니다. 이걸 처리해 주는 urllib2.quote 메서드를 사용해야 합니다.
파이썬 2를 사용하신다면 이렇게 하면 됩니다.
파이썬 2의 경우 '서울'이 UTF-8로 인코딩된 형태로 저장되기 때문에 별도의 처리를 할 필요는 없습니다. 만약 다른 인코딩을 사용하여 퍼센트 인코딩으로 변환하려면 이렇게 하면 됩니다.
.decode 부분에는 파일의 입력 인코딩, .encode 부분에는 대상 인코딩을 입력하면 됩니다.
파이썬 3을 사용하신다면 모든 문자열은 기본적으로 유니코드로 저장되므로 .decode 부분이 필요하지 않습니다. 그리고 quote 메서드의 위치가 변경되었습니다.
.
감사합니다.
import urllib2 a = ['가',
.
감사합니다.
댓글 달기