Welche Zeichenkodierung ist c3 82 c2 bf?
Ich habe eine Quelle von text-Daten enthält die byte-Reihenfolge, c3 82 c2 bf. Im Kontext denke ich, es soll ein Kapital Griechische Phi-symbol (Φ).
Trotzdem kann ich nicht herausfinden, welche Codierung verwendet wird; ich Schreibe ein Python-Skript zum verarbeiten dieser Daten in einer Datenbank, die erwartet Unicode, und es löst eine exception aus, auf diese bestimmte Sequenz von Daten.
Irgendwelche Vorschläge auf, wie man es behandelt?
- Können Sie sample-Daten, codiert in die Magie-Codierung? Was macht Sie denken, es ist ein einzelner Buchstabe?
- Im Kontext der "magnetische Fluss \xc3\x82\xc2\xbf<sub>fa<sub>" was sollte wohl werden, Φ<sub>fa</sub>
- Das ist der einzige Ausfall von Daten, so weit, so dass ich nur habe, um zu gehen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Interpretiert als UTF-8, c3 82 "Â" U+00C2 und c2 bf "¿" U+00BF, das macht nicht viel Sinn, aber es ist technisch gültige UTF-8-Daten, so sollte es nicht gemeldet werden, als Charakter-level-Daten-Fehler. Interpretiert als UTF-16, es ist Hangul-Silben und möglicherweise eine CJK-Ideogramm, je nach endianness, aber formal noch immer gültige Daten sind, obwohl die meisten wahrscheinlich nicht das, was gemeint war.
Das klingt wie das Ergebnis der double-conversion, aber es ist schwierig, Vermutungen. Wenn es steht für Φ, dann ist die UTF-16-form 03 A6 oder A6 03 und die UTF-8 form ist CE-A6, die sich nicht wirklich ähnlich die eigentlichen Daten. Informationen über die Herkunft der Daten könnte helfen, zu erraten, was transcodings passiert sein könnte.
Ist es wahrscheinlich eine Doppel-Konvertierung von
Ñ
Charakter.Ñ
Charakter in UTF-8 ist:0xc391
.Wenn Sie versuchen, zu konvertieren von LATIN-1 zu UTF-8 die
Ñ
Zeichen, das bereits codiert UTF-8 erhalten Sie:0xc382c2bf
.Warum?
0xc382
ist UTF-8 übersetzung von LATIN-10xc3
CharakterÃ
(A mit tilde)0xc2bf
ist¿
Charakter das ist, was Sie bekommen, wenn Sie nicht konvertieren Sie ein Zeichen aus LATIN-1 (0x91
ist ein ungültiges Zeichen in LATIN-1(A with tilde) + (upside ?)
ist das Ergebnis von beliebiger versehentliche Doppel-Konvertierung. Als solche, es wäre nicht rückgängig zu machen Sie Ihren Weg zurück an den ursprünglichen Charakter.FWIW, ich landete mit
c3 82 c2 bf
aus
. Ich wollte nicht Graben, in die Veränderungen, denn ich war in der Lage, einfach werfen, dass ein Teil des Codes entfernt. Es genügt zu sagen, dass
war in einer html-E-Mail-Vorlage, die verarbeitet wurde, durch ein wordpress (php) plugin.Ich weiß nicht den Grund. Aber vielleicht ist es möglich die Landschaft.
binäre x0xx umgewandelt, 0xC2 x0xx
binäre x1xx umgewandelt, 0xC3 x0xx
So gibt es viele c2 und c3 Hinzugefügt.
Wo geschieht dies? Senden nicht-ascii-url-query-string für eine ajax-Aufrufs, der Flachmann-server dies tun wird.
habe ich diese Zeichen \xc3\x82 vom externen utf-16-Dokument nach der Konvertierung zu utf-8 mit $str = mb_convert_encoding($content, "UTF-8" , "UTF-16LE"); (PHP)
original-Reihenfolge wurde 0xA0 0x00 und der Konverter konvertiert es wahrscheinlich zu dem, was es sein soll NBSP .. es war das Zeichen zur Tausender-Trennzeichen in Währung Anzahl. nbsp ist \xc2\xa0 so jetzt habe ich Tausende zu entfernen: