티스토리 뷰
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
- 상수
- borderwidth
- checkbutton
- Linux
- disabledforeground
- highlightthickness
- 폼
- Composite Key
- indicatoron
- apache
- Private
- vba
- highlightbackground
- 리눅스
- FetchType
- activebackground
- Excel
- JPA
- command
- onetomany
- activeforeground
- Java
- Python
- ManyToOne
- fetch join
- 파이썬
- Module
- IdClass
- tkinter command & bind [명령어묶기와 사건묶기] Python
- tkinter
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함