2012-11-28 7 views
2
>>> import sys 
>>> sys.version_info 
sys.version_info(major=2, minor=7, micro=2, releaselevel='final', serial=0) 

>>> import unicodedata 
>>> unicodedata.unidata_version 
'5.2.0' 

내 Python 버전에는 유니 코드 5.2.0이 있어야 함을 의미합니다. 나는 list of newly added unicode chars in version 5.2.0 및 인쇄 등 문자에 갈 때unicodedata.unidata_version이 유니 코드 버전을 잘못 인쇄 했습니까?

는하지만, 그것은 인식되지 않습니다

>>> print u"\u0803" 
ࠃ 

Chars from 5.1.0 그러나 인식 : 그래서

>>> print u"\u03CF" 
Ϗ 

을 난 항상 하나 아래 하나의 버전을 계산한다 실제로는 unicodedata.unidata_version에 의해 출력되거나 내가 오해하고 있습니까?

답변

4

터미널이 인쇄 할 수있는 내용이 파이썬이 유니 코드 문자에 대해 알고있는 것과 혼동 스럽습니다.

터미널 글꼴은 해당 코드 포인트를 인식하지 못합니다. 파이썬은 잘 처리 할 수 ​​있습니다.

>>> import unicodedata 
>>> unicodedata.category(u'\u0803') 
'Lo' 
>>> unicodedata.name(u'\u0803') 
'SAMARITAN LETTER DALAT' 
>>> unicodedata.category(u'\u03CF') 
'Lu' 
>>> unicodedata.name(u'\u03CF') 
'GREEK CAPITAL KAI SYMBOL' 

아이러니하게도 브라우저에서 사용하는 글꼴은 코드 포인트의 이미지를 정의하지 않습니다. 당신이 좋은 어떤 사마리아

two placeholder characters

+0

: 귀하의 게시물은 나를 위해 두 자리의 문자를 보여줍니다. – zenpoy

+0

Btw, 당신은 리눅스가 터미널에서 사용하는 유니 코드 버전을 확인하라는 명령을 알고 있습니까? – Bentley4

+1

@ Bentley4 : 터미널에서 사용하는 * font *가 문제입니다. http://www.cl.cam.ac.uk/~mgk25/unicode.html이 점에 관해 귀하의 질문에 대답 할 수 있습니까? –

관련 문제