Próbowałem modułu Pythona unicodedata
wspomnianego przez nneonneo w jego odpowiedzi i myślę, że prawdopodobnie działa.
>>> import unicodedata
>>> unicodedata.name('你')
'CJK UNIFIED IDEOGRAPH-4F60'
>>> unicodedata.name('桜')
'CJK UNIFIED IDEOGRAPH-685C'
>>> unicodedata.name('あ')
'HIRAGANA LETTER A'
>>> unicodedata.name('ア')
'KATAKANA LETTER A'
>>> unicodedata.name('a')
'LATIN SMALL LETTER A'
Jak widać, oba znaki chińskie i japońskie przyjął chińskie znaki są podzielone na CJK UNIFIED IDEOGRAPH
i hiragana i katakana prawidłowo rozpoznana. Nie testowałem koreańskich postaci, ale myślę, że powinny one również należeć do CJK UNIFIED IDEOGRAPH
.
Ponadto, jeśli tylko zależy, czy jest to CJK znaków/liter lub nie, wydaje się to prostsze:
>>> import unicodedata
>>> unicodedata.category('你')
'Lo'
>>> unicodedata.category('桜')
'Lo'
>>> unicodedata.category('あ')
'Lo'
>>> unicodedata.category('ア')
'Lo'
>>> unicodedata.category('a')
'Ll'
>>> unicodedata.category('A')
'Lu'
Według here, Ll
jest małe, Lu
jest wielka i Lo
jest inne.
możliwe odpowiedzi: http://stackoverflow.com/questions/6432926/how-can-i-relate-unicode-blocks-to-languages-scripts http://stackoverflow.com/questions/4545977/python-can -i-detect-unicode-string-language-code? rq = 1 – Patashu