В Python 2 вам нужно открыть файл, указав следующую кодировку:
import codecs
f = codecs.open("myfile.txt","r",encoding="utf-8")
В Python 3 вы можете просто добавить опцию кодирования к любым вызовам open ().
Это гарантирует, что файл правильно декодирован. Обратите внимание, что это не означает, что ваши вызовы на печать будут работать правильно, это зависит от многих вещей (см., Например, http://www.pycs.net/users/0000323/stories/14.html, и это только начало); лучше либо использовать правильный отладчик, либо выводить в файл (который снова будет открыт с помощью codecs.open ()).
Чтобы получить действительную кодовую точку (то есть целое число «значение»), вы можете использовать встроенную ord ():
>>> ord(u"£")
163
если вы знаете диапазоны для разных языков, это все, что вам нужно. См. эту страницу или эту страницу для диапазонов.
В противном случае вы можете использовать unicodedata
для поиска, например, двунаправленную категорию:
>>> unicodedata.bidirectional(u"£")
ET # 'E'uropean 'T'erminator