파이썬 (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
모듈이 도착하는 방법에 대한 상위 수준의 이해로 현재로서는 나에게 도움이되지 않습니다.
아마도 유니 코드 문자열 * 정규화 *를 조사하고 싶을 것입니다. 그 이상으로, 저는 아직 그 질문이 너무 모호하다고 생각합니다. –
http://stackoverflow.com/questions/517923/what-is-the-best-way-to-remove-accents-in-a-python-unicode-string – NPE
http://stackoverflow.com/questions/ 4162603/python-and-character-normalization – NPE