Необходимо обработать язык каннада (региональный) в Python 3.7 без проблем с кодировкой

Именованные группы захвата могут быстро перейти на JavaScript. Предложение для него уже на этапе 3.

Группе захвата может быть присвоено имя с использованием синтаксиса (? ...) для любого имени идентификатора. Регулярное выражение для даты тогда может быть записано как / (? \ D {4}) - (? \ D {2}) - (? \ D {2}) / u. Каждое имя должно быть уникальным и следовать грамматике для имени идентификатора ECMAScript.

Именованные группы могут быть доступны из свойств свойства групп результата регулярного выражения. Также создаются нумерованные ссылки на группы, как и для неименованных групп. Например:

let re = /(?\d{4})-(?\d{2})-(?\d{2})/u;
let result = re.exec('2015-01-02');
// result.groups.year === '2015';
// result.groups.month === '01';
// result.groups.day === '02';

// result[0] === '2015-01-02';
// result[1] === '2015';
// result[2] === '01';
// result[3] === '02';

0
задан hondvryer 18 January 2019 в 10:08
поделиться

1 ответ

Если я использую UTF-8, как с open ('info.json', 'r', encoding = 'utf-8')

, только содержимое Каннада преобразуется в объекты Escape Unicode как \ u0c85 \ u0ca4 \ u0ccd \ u0ca4 \ u0cb2 \ u0cbf \ u0ca4 \ u0ccd \ u0ca4

Нет, это не так.

Содержание каннада правильно интерпретируется как строка Python, содержащая буквы каннада. Проще говоря, в зависимости от того, как вы пытаетесь отобразить строку, отличную от ascii, некоторые символы могут отображаться со своими значениями Unicode, могут исчезать или могут быть заменены другими специальными символами замены.

И Python не делает различий между персонажем и его представлением:

>>> "\x41\x62" == "Ab"
True

Таким образом, у вас могут возникнуть проблемы с отображением букв каннада, но не в правильном декодировании файла json.

0
ответ дан Serge Ballesta 18 January 2019 в 10:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: