2013-12-08 6 views
1

파이썬 (v3.3)에서 문자열 조작을하고 있는데 주어진 문자에 분음 기호를 추가하는 것을 예측할 수있는 방법이 있는지 궁금합니다.파이썬에서 유니 코드와 (그리스어) 발음 구분 기호

그래서 예를 들어 'α' # ord('α') = 945) (그리스어 표시되지 않은 알파)와 'ᾶ' # ord('ᾶ') = 8118 (곡절 그리스 알파)와 'ω' # ord('ω') = 969 (그리스어 표시되지 않은 오메가)과 'ῶ' # ord('ῶ') = 8182 (곡절 그리스 오메가) 사이에 어떤 관계가 있습니까?

발음 구별을 제거하기 위해 수행 할 수있는 조작이 있습니까? 또는 예를 들어 장모음을 표시 할 때 분음 기호를 추가하려면 'ᾱ' # ord('ᾱ') = 8113?

감사합니다.

편집 : unidecode 패키지와 unicodedata을 가지고 놀았습니다. 나는 문자열을 정규화하기 만하는 것이 아닙니다. 예를 들어 곡절 악센트 또는 매 크로론을 표준 알파에 추가하기 위해 장면 뒤에서 일어나는 바이트 조작을 이해하기위한 자료에 관심이 있습니다. 그 질문을하는 다른 방법은 chr(945) # 'α'이 매우 낮은 수준에서 chr(8113) # 'ᾱ'이되거나 관련이되는 방법입니까? 어쩌면 나는이 (텍스트)를 완전히 잘못된 방식으로 생각하고 있으며, 나는 그것을 배우는 것에 흥미가있을 것이다.

이 질문은 실제로 텍스트 인코딩과 마찬가지로 파이썬과 많은 관련이 없지만, 파이썬에 대해 언급 할 것입니다.

편집 2 : 나는 실제로 그 순간에 실제로 사용하는 것보다 unidecode과 같은 방식에 더 관심이 있다고 덧붙여 야합니다. unidecode('ῶ')unidecode('ὄ') # that's an omicron, not an 'o'은 모두 'o'을 반환하며 그 반환 값은 해당 반환 값에 unidecode 모듈이 도착하는 방법에 대한 상위 수준의 이해로 현재로서는 나에게 도움이되지 않습니다.

+1

아마도 유니 코드 문자열 * 정규화 *를 조사하고 싶을 것입니다. 그 이상으로, 저는 아직 그 질문이 너무 모호하다고 생각합니다. –

+0

http://stackoverflow.com/questions/517923/what-is-the-best-way-to-remove-accents-in-a-python-unicode-string – NPE

+0

http://stackoverflow.com/questions/ 4162603/python-and-character-normalization – NPE

답변

1

@ Jongware와 @SimeonVisser는 "유니 코드는 기본적으로 큰 룩업 테이블입니다."그래서 내가 찾고있는 라인의 비밀 통로가 있습니다.

답변으로 표시 - 희망 사항에 따라 직접 질문하면 향후 비슷한 질문을하는 사용자에게 도움이 될 것입니다.

+1

이 [Unicode/UTF8] (http://stackoverflow.com/questions/313555/light-c-unicode-library) 질문과 [utf8proc] (http://www.flexiguided.de/publications .utf8proc.en.html) 제안 된 뭔가 체크 아웃 가치가있을 수 있습니다. 그 기능은 분해 및 정규화를 포함하며 여기에서 정확히 원하는 것입니다. – usr2564301

관련 문제