Wie konvertieren von EBCDIC mit chinesischen Zeichen für UTF-8-format
Habe ich eine Anforderung, eine Datei konvertieren, mit EBCDIC-Kodierung verschlüsselt, wobei der IBM937 Codepage auf UTF-8-format für das laden der Datei in ein multi-byte-enabled DB2 Datenbank.
Habe ich versucht unix recode und iconv. Keiner von Ihnen hat die Fähigkeit zur Konvertierung von IBM-937 auf UTF8. Ich bin auf der Suche nach einer utility (java, perl, unix ) in dieser Welt, die können tun, dass auf einem unix-basierten system. Kann mir hier jemand helfen?
SL
InformationsquelleAutor SNL | 2011-03-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werfen Sie einen Blick auf ICU (International Components for Unicode): http://site.icu-project.org/
Es ist ein converter für IBM-937: http://demo.icu-project.org/icu-bin/convexp?conv=ibm-937_P110-1999&s=ALL
Nicht in java. Die .Net-Welt ist das System.Text.Encoding-Klasse, die bietet Unterstützung für die Konvertierung zwischen verschiedenen Zeichenkodierungen. Das Microsoft-framework bietet Unterstützung für [einige] EBCDIC-Codierungen, aber nicht IBM-937. Keine Ahnung, was Mono (open source).Net) unterstützt...oder wie schwer es wäre, schreiben Sie eine benutzerdefinierte Codierung. Die .Net Weg ist zu Lesen, ein array von Bytes und hand, dass der encoder/decoder und erhalten Sie einen string zurück. Der EBCDIC-Doppel-byte-Kram erschwert es wegen der Notwendigkeit, sich mit shift-in und shift-out zwischen single - und double-byte-Modi.
InformationsquelleAutor Nicholas Carey
Scheint es, dass Java konvertieren kann das IBM937 Codepage auf UTF-8.
Geben Sie in das input-format als "cp937".
Hier sind zwei Methoden, die von der Oracle-Seite auf Zeichen-und Byte-Streams:
und
Die ursprünglichen Zeichen sind so etwas wie: 凧刡凮剭勄剭刣剭刡匎刪 ?僔働っ牼 僉僌僑僒匎刪 ?僔働っ牼 僉僌僑僒? Nach der Konvertierung bekomme ich so etwas wie: ブイピーシーエーインクVP�ㄣ LOSTンクVP�ㄣ LOST ブイピーシーエーインク
Mein Erster Gedanke ist, sind Sie sicher, dass die Eingabe IBM937 (CP937)? Es gibt ein paar andere IBM EBCDIC-Seiten für chinesische Zeichen. Es gibt CP1371, CP950, CP964, und CP948.
Ja, habe ich. Einige dieser oben genannten Zeichensätze scheinen nicht zu konvertieren und der andere zu sein scheinen, so dass das gleiche Ergebnis. Außerdem, hat der Sender bestätigt, dass die Datei gesendet wird über die codepage-ibm937 nur
Da bin ich überfragt. Vielleicht können Sie versuchen, UTF-16 als das Ausgabe-nur um zu sehen, ob es einen Unterschied macht.
InformationsquelleAutor Gilbert Le Blanc