В настоящее время я разбираю большие текстовые файлы с Python 2.7, некоторые из которых были первоначально закодированы в Unicode или UTF-8.Смешанное использование кодировок UTF-8 и ASCII?
Для модулей, содержащих функции, которые непосредственно взаимодействуют со строками в UTF-8, я включил # -*- coding: utf-8 -*-
в начало файла, но для функций, которые работают только с ascii, я не беспокоился.
В конце концов, эти модули приводят к более крупным модулям, и все разобранные строки смешиваются. Хорошая практика включать # -*- coding: utf-8 -*-
в начало каждого файла?
Есть ли преимущества для этого?
Не только любой символ ASCII является допустимым UTF-8, но каждая часть кодированного символа UTF-8 равна ASCII-коду символа ASCII тогда и только тогда, когда это однобайтовый символ ASCII. Это означает, что часть кодированного многобайтового кода никогда не может быть символом ascii. Таким образом, легко найти подстроки ascii, как если бы строка была чистой ASCII. –