티스토리 뷰
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Python3에서
기본적으로 urllib 모듈을 통해서 끌어온 데이터는 byte형이다
linux에서는 기본 encoding이 utf-8이라 특별히 문제가 되지 않지만(linux에서 python3는 확인을 못해봐서 모르겠다)
window에선 기본encoding이 cp949라서 urllib모듈을 통해 가져온 문자열이 byte형태로 변해서 육안으로 확인이 힘들어진다
이때 decode('utf-8')을 이용해서 byte('utf-8')형태의 데이터를 decoding해줌으로서 문자열을 육안으로 확인이 가능하다
즉, 웹에서 사용하는 인코딩은 utf-8이고
python3에서 사용하는 인코딩은 unicode이다.
그래서 웹에 있는 문자열을 그대로 가지고 오면 utf-8형태의 문자열이기 때문에 bytes클래스로 취급을 한다.
따라서 이를 utf-8인코딩 문자를 unicode로 다시 decode하여 python에서 사용할수 있게 한다.
>>> import urllib.request
>>> data=urllib.request.urlopen('http://127.0.0.1').read()
>>> data
b'TEST\n'
>>> data.decode('utf-8')
'TEST\n'
bytes의 클래스의 문자열을 str클래스로 변환가능하다.
문자열을 utf-8형태로 다시금 변경하는건
'TEST\n'.encode('utf-8')이라고 하면 된다.
'Python' 카테고리의 다른 글
Python,module socket [소켓통신] (0) | 2016.05.24 |
---|---|
Python, 이메일보내기 (0) | 2016.05.24 |
Python, str(), repr(), ascii(),eval() (0) | 2016.05.24 |
Python, XML사용하기 (0) | 2016.05.20 |
Python,module weakref [약한참조] (0) | 2016.05.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ManyToOne
- indicatoron
- Excel
- highlightthickness
- checkbutton
- IdClass
- Java
- tkinter
- onetomany
- activebackground
- apache
- Linux
- Python
- disabledforeground
- 파이썬
- 폼
- Private
- 리눅스
- fetch join
- activeforeground
- Module
- Composite Key
- borderwidth
- tkinter command & bind [명령어묶기와 사건묶기] Python
- 상수
- highlightbackground
- vba
- JPA
- command
- FetchType
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함