Suche nach einer Kodierung, die ein gegebenes Zeichen für eine bestimmte Sequenz kodiert

274
Olivier Cailloux

Ich versuche herauszufinden, welche Kodierung eine Textdatei verwendet, die ich erhalten habe. Ich weiß, dass diese Kodierung é zu 0x8E kodiert .

Spezifische Frage: Welche Kodierungen stimmen möglicherweise überein?

Allgemeine Frage: Wie kann ich generell herausfinden, welche Kodierungen mit einigen Einschränkungen übereinstimmen, die als Paare von (Unicode-Zeichen, Byte-Reihenfolge) ausgedrückt werden?

uchardet hilft nicht: Es erkennt Windows-1252, aber das ist in meinem Fall offensichtlich falsch. Im Allgemeinen leistet ein solches Tool bei der Erkennung von Kodierungen eine schlechtere Arbeit als die Verwendung von Einschränkungen als externes Wissen.

Ich verstehe, dass konzeptionell jede Codierung denkbar ist, die é zu 0x8E und alles andere zu irgendetwas anderem codiert, aber ich möchte nur unter Codierungen suchen, die im Allgemeinen von Menschen verwendet werden. (Insbesondere in diesem Fall wahrscheinlich eine Codierung, die allgemein in der westeuropäischen Welt verwendet wird.)

Ich vermute, dies könnte beispielsweise mit Datendateien von uchardet, mit geschicktem Einsatz von grep oder ähnlichen Tools geschehen. Vorzugsweise wären die beteiligten Werkzeuge frei wie in der freien Sprache und auf Standard-GNU-Linux-Distributionen verfügbar.

1
Die Leute unter https://stackoverflow.com/questions/45281069/find-encoding- that-encodes-a-given-character-to-a-given-sequence wiesen Sie auf https://softwarerecs.stackexchange.com/, nicht zu Super User ... Ich bin mir nicht sicher, ob es sich hier um ein Thema handelt, aber es ist hier ein Thema, genau wie bei Stack Overflow. Arjan vor 6 Jahren 1
Ja, aber als ich dort schrieb: „Eigentlich vermute ich, dass Super User besser geeignet ist, da ich erwarte, dass eine Antwort möglich ist, indem einige vorhandene Tools kombiniert werden oder sogar eine Website verwendet wird.“ Warum ist das hier nicht Thema? Olivier Cailloux vor 6 Jahren 0
_ "Ich suche nach einer Website (Webservice), die ..." _ Arjan vor 6 Jahren 0
Hoppla. Bearbeitet, um Anforderungen zu erfüllen. (Eigentlich habe ich zuerst über Befehlszeilen-Tools nachgedacht. Erst beim Schreiben der Frage fiel mir ein, dass eine Website auch das Problem teilweise lösen könnte. Aber es wäre auf jeden Fall eine unvollständige Lösung.) Olivier Cailloux vor 6 Jahren 0
Ich stimme zu, um diese Frage zu schließen, da das Thema außerhalb von [Software Recommendations] (https://softwarerecs.stackexchange.com/) ist. Beeil dich, die Bounties kommen, die Bounties kommen !! Pimp Juice IT vor 6 Jahren 0
Wenn Sie sich fragen, warum, sagen Sie nicht mehr… klassisches Beispiel nach Ihrer eigenen Formulierung, um genau zu sein, aber nicht beschränkt auf; Ich suche nach einem Werkzeug oder einer Kombination von Werkzeugen, die die Arbeit erledigen würden. Pimp Juice IT vor 6 Jahren 0
Ich verstehe Ihren Hinweis auf "Ich suche ein Werkzeug oder eine Kombination von Werkzeugen, die die Arbeit erledigen würden" nicht. Ich habe gerade auf Super User und Super User Meta gesucht, ohne Erfolg. Außerdem gibt es höchstwahrscheinlich keine vorhandene Software, die dieses spezifische Problem löst. Das Problem lässt sich jedoch wahrscheinlich lösen, wenn Sie die richtigen Tools verwenden. Ich sehe es als ähnlich an, zum Beispiel nach einer Möglichkeit zu fragen, alle Dateien in einem Ordner umzubenennen, der mit solchen oder solchen Zeichen beginnt. https://meta.superuser.com/questions/7458/at-what-do-regexes-become-programmierfragen Olivier Cailloux vor 6 Jahren 0
Sie stellen eine Off-Topic-Frage (Software-Shopping). Fragen, die Produkt-, Service- oder Lernmaterialempfehlungen suchen, sind nicht thematisch. Siehe [Zum Thema] (https://superuser.com/help/on-topic). Versuchen Sie es mit https://softwarerecs.stackexchange.com/, aber lesen Sie zuerst [Was ist erforderlich, damit eine Frage "genug Informationen enthält"] (https://softwarerecs.meta.stackexchange.com/questions/336/what-is- Erforderlich-für-eine-Frage-enthalten-genug-Informationen). DavidPostill vor 6 Jahren 0
Ich glaube, dann könnte die Formulierung meiner Frage falsch sein. Ich versuche nicht, eine Software zu finden, die das Problem löst (ich wäre sehr überrascht, wenn es diese Option gibt). Ich gehe davon aus, dass eine Antwort einige Verwendungsmöglichkeiten von sed, grep und möglicherweise von uchardet oder anderer ähnlicher Software als "Datenbank" verwendeten Dateien enthält. Erwägen Sie, dass die Suche nach einer Möglichkeit zum Umbenennen aller Dateien in einem Ordner, der mit solchen oder solchen Zeichen beginnt, als Softwareeinkauf gilt? Olivier Cailloux vor 6 Jahren 0
Sagen Sie nicht, dass Sie "nach einem Werkzeug oder einer Kombination von Werkzeugen suchen, die die Arbeit erledigen würden", sondern zeigen Sie uns stattdessen, was Sie gerade tun, was Sie erreichen wollen und was Sie recherchiert haben. Bis Ihre endgültigen Sätze entfernt sind und Ihre Frage zu diesem Thema erarbeitet wurde, klingt das sehr nach einer Empfehlung einer zufälligen Software für Ihre Arbeit. Mokubai vor 6 Jahren 1
Ich habe gerade eine andere Formulierung ausprobiert. Ehrlich gesagt verstehe ich immer noch nicht, wie sich meine Frage von der Frage unterscheidet, wie man alle Dateien in einem Ordner umbenennt, der mit solchen oder solchen Zeichen beginnt. Ich habe versucht, uchardet zu verwenden, habe auf Super User- und verwandten Websites gesucht und nach Software oder Webseiten gesucht, um genau das zu tun, und habe (wie erwartet) keine gefunden. Ich habe uchardet bereits in meinem OP geschrieben. Olivier Cailloux vor 6 Jahren 0
"mac_greek", "mac_iceland", "mac_latin2", "mac_roman", "mac_turkish" aus dem folgenden sehr einfachen _python_-Skript: "import codecs; char_u = u'é"; char_e = b '\ x8e'; für cod in codec_list: if (codecs.encode (char_u, Kodierung = cod, errors = 'replace') == char_e): print (char_u, char_e, cod); `wobei` codec_list` wie in https: // definiert ist. stackoverflow.com/a/25584253/3439404 JosefZ vor 6 Jahren 0
Großartig! Ich kannte diese Liste nicht, sehr nützlich. Jetzt muss ich diesen Code nur noch für eine Reihe von Einschränkungen verallgemeinern, was einfach sein sollte. Olivier Cailloux vor 6 Jahren 0

0 Antworten auf die Frage