Найти кодировку, которая кодирует данный символ в заданную последовательность

250
Olivier Cailloux

Я пытаюсь выяснить, какая кодировка использует какой-то текстовый файл, который я получил. Я знаю, что эта кодировка кодирует é в 0x8E.

Конкретный вопрос: какие кодировки возможно соответствуют?

Общий вопрос: как я могу узнать, в общем, какие кодировки соответствуют некоторым ограничениям, выраженным в виде пар (символ Юникода, последовательность байтов)?

Учарде не помогает: он обнаруживает Windows-1252, но это, очевидно, неправильно в моем случае. Вообще говоря, такой инструмент будет хуже выполнять работу по обнаружению кодировок по сравнению с использованием ограничений в качестве внешних знаний.

Я понимаю, что концептуально может быть задумано любое кодирование, которое кодирует é в 0x8E и что-либо еще во что-либо еще, но я хочу искать только среди кодировок, обычно используемых человеком. (В частности, в этом случае, вероятно, некоторая кодировка обычно используется в западноевропейском мире.)

Я подозреваю, что это можно сделать, используя, например, файлы данных из uchardet, с умным использованием grep или аналогичных инструментов. Предпочтительно задействованные инструменты должны быть бесплатными, как в свободе слова, и доступны в стандартных дистрибутивах GNU-Linux.

1
Люди на https://stackoverflow.com/questions/45281069/find-encoding-that-encodes-a-given-character-to-a-given-sequence указывают на https://softwarerecs.stackexchange.com/, а не на Super User ... Я не уверен, что это там по теме, но здесь это не по теме, как в переполнении стека. Arjan 7 лет назад 1
Да, но, как я писал там: «На самом деле я подозреваю, что Super User может быть лучше, так как я ожидаю, что ответ возможен путем объединения некоторых существующих инструментов или даже использования какого-то веб-сайта». Почему это не по теме здесь? Olivier Cailloux 7 лет назад 0
_ "Я ищу какой-то веб-сайт (веб-сервис), который ..." _ Arjan 7 лет назад 0
К сожалению. Отредактировано в соответствии с требованиями. (На самом деле я впервые подумал об инструментах командной строки, но только при написании вопроса мне пришло в голову, что веб-сайт также может частично решить проблему. Но в любом случае это будет несовершенное решение.) Olivier Cailloux 7 лет назад 0
Я голосую за закрытие этого вопроса, поскольку он не по теме и относится к [Рекомендациям по программному обеспечению] (https://softwarerecs.stackexchange.com/). Спешите, щедрые приходят, щедрые приходят! Pimp Juice IT 7 лет назад 0
Если вы задаетесь вопросом, почему, не говорите больше ... классический пример согласно вашей собственной формулировке, чтобы быть точным, но не ограничиваясь; «*** Я ищу инструмент или комбинацию инструментов, которые могли бы сделать работу ***» Pimp Juice IT 7 лет назад 0
Я не понимаю вашу ссылку на «Я ищу инструмент или комбинацию инструментов, которая бы выполняла эту работу». Я просто искал это на мета супер пользователя и супер пользователя, но безрезультатно. Кроме того, скорее всего, не существует программного обеспечения, которое решает эту конкретную проблему. Хотя, проблема, вероятно, решаема с помощью некоторого разбора и сочетания правильных инструментов. Я считаю, что это похоже на запрос, например, о способе переименования всех файлов в папке, которая начинается с тех или иных символов. https://meta.superuser.com/questions/7458/at-what-point-do-regexes-become-programming-questions Olivier Cailloux 7 лет назад 0
Вы задаете не по теме вопрос (покупка ПО). Вопросы по поиску рекомендаций по продуктам, услугам или учебным материалам не по теме. См. [По теме] (https://superuser.com/help/on-topic). Попробуйте https://softwarerecs.stackexchange.com/, но сначала прочитайте [Что требуется, чтобы вопрос содержал «достаточно информации»] (https://softwarerecs.meta.stackexchange.com/questions/336/what-is- требуется в обмен на а-вопрос-к-содержат-достаточно-информации). DavidPostill 7 лет назад 0
Я считаю, что формулировка моего вопроса может быть неправильной. Я не пытаюсь найти программное обеспечение, которое решает проблему (я был бы очень удивлен, если бы это существовало из коробки). Я ожидаю, что ответ будет содержать, скажем, sed, grep, а также, возможно, файлы, используемые uchardet или другим подобным программным обеспечением в качестве «базы данных». Считаете ли вы, что запрос на способ переименовать все файлы в папке, которая начинается с таких или таких символов, это покупка программного обеспечения? Olivier Cailloux 7 лет назад 0
Не говорите, что вы «ищете инструмент или комбинацию инструментов, которые бы выполняли эту работу», но вместо этого покажите нам, что вы делаете в данный момент, чего вы пытаетесь достичь и какие исследования вы провели. Пока ваши окончательные предложения не будут удалены, а ваш вопрос, разработанный по этому вопросу, будет звучать очень похоже на то, что вы ищете рекомендацию какого-то случайного программного обеспечения для своей работы. Mokubai 7 лет назад 1
Я просто попробовал другую фразу. Я, честно говоря, до сих пор не понимаю, чем мой вопрос отличается от вопроса о способе переименования всех файлов в папке, которая начинается с тех или иных символов. Об исследованиях, которые я провел: я пытался использовать uchardet, искал на Super User и связанных веб-сайтах, искал программное обеспечение или веб-страницу, чтобы сделать именно это, и не нашел (как и ожидалось). Я уже писал об учардете в моем ОП. Olivier Cailloux 7 лет назад 0
`mac_greek`,` mac_iceland`, `mac_latin2`,` mac_roman`, `mac_turkish` из следующего очень простого скрипта _python_:` import codecs; char_u = u'é '; char_e = b '\ x8e'; для трески в codec_list: if (codecs.encode (char_u, encoding = cod, errors = 'replace') == char_e): print (char_u, char_e, cod); `где` codec_list` определяется как в https: // stackoverflow.com/a/25584253/3439404 JosefZ 7 лет назад 0
Большой! Я не знал этот список, действительно очень полезный. Теперь мне нужно только обобщить этот код на любое количество ограничений, что должно быть легко. Olivier Cailloux 7 лет назад 0

0 ответов на вопрос

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