2016-07-10 7 views
0

Ich habe die folgende Zeichenfolge codiert mit ISO-8859-15 innerhalb einer Datei gespeichert:Kodierung: Ist es sinnvoll, eine ISO-8859-15-Zeichenfolge mit chinesischen Zeichen in UTF-8-Zeichenfolge zu dekodieren?

DEBUG_RECEIVED: ???? 

Der korrekte UTF-8-String ist jedoch:

DEBUG_RECEIVED: 测试手机 

Macht es Sinn zu konvertieren machen versuchen, diese falsch ???? Zeichen wieder in 测试手机 (also wieder von ISO-8859-15 zu UTF-8), oder ist es einfach unmöglich, weil ISO-8859-15 nicht für chinesische Zeichen und da es 8 Bit pro verwendet wird verklagt Zeichen, sind die 16 Bit für chinesische Schriftzeichen einfach verloren? noch DEBUG_RECEIVED: ???? als Ausgabe erhalten

echo "DEBUG_RECEIVED: ????" | iconv -f iso-8859-15 -t utf-8 

I:

Wenn ich versuche, die folgende.

Ich bin ein bisschen verwirrt darüber, bitte, wenn Sie dieses Detail klären können, wäre es toll.

Danke für die Aufmerksamkeit.

+2

Das '' 'könnte eigentlich nur' '' sein, also könnte es keine Informationen mehr von der ursprünglichen Zeichenfolge geben. –

+3

Es ist nicht möglich, chinesische Zeichen direkt in ISO-8859-15 darzustellen. –

+1

@tonix: Keith hat Recht. ISO-8859-15 ist für westeuropäische Sprachen gedacht, mit wenigen Unterschieden zu ISO-8859-1. Chinesisch wird stattdessen mit GB2312, GB18030 oder Big5 kodiert, wenn nicht eines der UTFs. –

Antwort

1

Ja, was auch immer erzeugt wurde, die 8859-15-Zeichenfolge musste die Informationen verwerfen, die notwendig sind, um chinesische Zeichen darzustellen.

Verlorene Informationen verloren - Ihre chinesischen Schriftzeichen scheinen durch ? ersetzt worden zu sein, und es gibt nichts, das sie zurückbekommen kann.

+0

Verstanden. Vielen Dank für Ihre Klarstellung! – tonix