B3 D7 C6 AE BF F6 C5 A9
이라는 16진수가 있는데, 파이썬을 통해서 한글로 변환하고 싶습니다.
구글을 통해서 이곳 저곳 살펴보기는 했는데, 살펴보면 볼 수록 더 정리가 안되는 것 같습니다. ㅠㅠ
어떻게해야 변환할 수 있을까요?
간단합니다.
print bytearray(map(lambda x: int(x, 16), 'B3 D7 C6 AE BF F6 C5 A9'.split(' '))).decode('euc-kr')
하지만 어떻게 하면 이런 코드를 작성할 수 있는지 설명하는 건 좀 다른 문제이지요.
핵심은 decode('euc-kr')입니다. 원본 바이트 시퀀스가 euc-kr로 인코딩되어 있었거든요.
decode('euc-kr')
만약 질문자님께서 utf-8이 뭔지도 모르겠고 euc-kr이 뭔지도 모르시겠다면, 두 가지 선택의 여지가 있습니다. 문자열 인코딩에 대해서 공부하시던지 (필요한 공부량이 그리 많지는 않습니다) 그냥 제 코드 가져가셔서 조금 고쳐서 쓰세요.
b"\xB3\xD7\xC6\xAE\xBF\xF6\xC5\xA9".decode('euc-kr')로 됐네요! 감사합니다!
혹시 저와 같은 문제를 겪고있으신 분들은,
https://financedata.github.io/posts/faq_crawling_data_encoding.html
위 링크를 한번 살펴보시길 바랍니다.
python version 이 2.x 냐 3.x 냐에 따라 다를 걸요?
세벌 https://sebuls.blogspot.kr/
텍스트 포맷에 대한 자세한 정보
<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]
간단합니다.
간단합니다.
하지만 어떻게 하면 이런 코드를 작성할 수 있는지 설명하는 건 좀 다른 문제이지요.
핵심은
decode('euc-kr')
입니다. 원본 바이트 시퀀스가 euc-kr로 인코딩되어 있었거든요.만약 질문자님께서 utf-8이 뭔지도 모르겠고 euc-kr이 뭔지도 모르시겠다면, 두 가지 선택의 여지가 있습니다. 문자열 인코딩에 대해서 공부하시던지 (필요한 공부량이 그리 많지는 않습니다) 그냥 제 코드 가져가셔서 조금 고쳐서 쓰세요.
b"\xB3\xD7\xC6\xAE\xBF\xF6
b"\xB3\xD7\xC6\xAE\xBF\xF6\xC5\xA9".decode('euc-kr')로 됐네요!
감사합니다!
혹시 저와 같은 문제를 겪고있으신 분들은,
혹시 저와 같은 문제를 겪고있으신 분들은,
https://financedata.github.io/posts/faq_crawling_data_encoding.html
위 링크를 한번 살펴보시길 바랍니다.
python version 이 2.x 냐 3.x 냐에
python version 이 2.x 냐 3.x 냐에 따라 다를 걸요?
세벌 https://sebuls.blogspot.kr/
댓글 달기