파이썬 문자열 인코딩에 관련한 질문입니다.
글쓴이: xxaker / 작성시간: 수, 2009/11/25 - 3:59오후
def getUnicode(cp949_str): unicode_str="" i =0 #문자열 형식 지정 while i < len(cp949_str)-1 : unicode_str += "\\x" + cp949_str[i] + cp949_str[i+1] i += 2 result = unicode_str.decode('cp949') #테스트 값 출력 print("\x46\x4f\x52\x4d\x41\x54".decode('cp949')) return result
인자로 받는 cp949_str가
464f524d4154
일 경우
코드 중간에 삽입한
print("\x46\x4f\x52\x4d\x41\x54".decode('cp949'))
의 결과인 "FORMAT" 출력되는 것과는 달리
문자열 그대로 \x46\x4f\x52\x4d\x41\x54 으로 출력이 됩니다.
길이를 각각 출력해도 24, 6 으로 출력됩니다.
인자값이 464f524d4154 으로 넘어올때 FORMAT 으로 출력할 수 있게 하는 방법은 없을까요?
Forums:
쉽게 말해서...
while 문을 통해 거쳐 나온 "\x46\x4f\x52\x4d\x41\x54" 이란 스트링을
print("\x46\x4f\x52\x4d\x41\x54".decode('cp949'))에서 쓰인 "\x46\x4f\x52\x4d\x41\x54" 과 같은 의미로 쓰고 싶습니다.
도와주세요. ㅠㅠ
def getUnicode(src):
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
'464f524d4154'.decode('hex')
'464f524d4154'.decode('hex')
:-)
---8< 서명 -----------------
애니메이션 감상 기록 http://animeta.net/
You won! ^^ -- C FAQ:
You won! ^^
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기