2017-01-21 5 views
-1

파이썬 2.7에서 such와 같은 고유 한 문자를 사용하는 깨끗한 체스 판을 인쇄하려고합니다.파이썬에서 like 같은 문자를 인쇄하는 방법

단순히 문자열 ("g".replace(g, ♟))의 값을 바꾸려고 시도했지만 '\xe2\x80\xa6'으로 변경되었습니다. 문자를 온라인 ASCII 변환기에 넣으면 "226 153 159"가 반환됩니다.

+2

왜 ASCII 변환기에 UTF-8을 넣을 수 있습니까? –

+0

방금 ​​출력 할 내용을보고 싶었습니다. 아마 뭔가 유용한 것 같지만 생각하지 않습니다. – DSchana

+0

ASCII 문자가 아니며 UTF-8 문자입니다. – Natecat

답변

2

은 유니 코드 문자입니다. 파이썬 2에서 str은 아스키 문자열 또는 바이너리 데이터를 보유하고 unicode은 유니 코드 문자열을 보유합니다. "♟"을 수행하면 유니 코드 문자열의 이진 코드화 버전이 생성됩니다. 그 인코딩은 에디터/콘솔에 따라 달라집니다. 일반적으로 UTF-8을 사용하여 문자열을 인코딩하는 것이 좋지만 Windows 편집기는 리틀 엔디안 UTF-16 문자열을 선호합니다.

어느 쪽이든, 문자열을 가능한 한 유니 코드로 쓰고 싶습니다. strunicode 사이에 몇 가지 혼합 및 일치를 수행 할 수 있지만 ASCII 코드 세트 외부의 항목은 처음부터 유니 코드이어야합니다.

파이썬은 파일의 앞부분에서 인코딩 힌트를 취할 수 있습니다. 따라서 UTF-8 편집기를 사용한다고 가정하면

[email protected]/usr/bin/env python 
# -*- coding: utf-8 -*- 

chess_piece = u"♟" 
print u"g".replace(u"g", chess_piece)