Unicode 06 (Arabic)

Status
Nicht offen für weitere Antworten.

max5432

Aktives Mitglied
Hallo allerseits!

Ich habe in einer Datei arabische Zeichen in Hexadarstellung - Unicode mit 06-Startbyte. Mein Ziel wäre es, den Text schlussendlich in lesbarer Form darzustellen (die Interpretation ist nicht meine Sache). Hat jemand mit dieser Codierung schon Erfahrungen gemacht? Wie könnte man diese am enfachsten machen?

Beispiel für eine Zeile in der Datei: 064506460020064706450020062F06480633

Danke
 
Was soll denn raus kommen? Das hier: من هم دوس? Is normales UTF-16 ...

Nun, was alles in einer solchen Datei vorkommen kann, weiss ich nicht. Ich muss es nur decodieren und möglichst in einer Textdatei zur Verfügung stellen.

Folgender Versuch:

[HIGHLIGHT="Java"]

String s = "064506460020064706450020062F06480633";
/* Hex-Zeichenkette in Bytes umwandeln (hier 'von Hand') */
byte[] buffer = {6, 69, 68, 0, 32, 6, 71, 6, 69, 0, 32, 6, 47, 6, 72, 6, 51};
/* String erzeugen */
String str = new String(buffer, "UTF-16");
/* OutputStream erzeugen */
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("C:/Temp/strOut.txt"), "UTF-16");
/* Den String in die Datei schreiben */
osw.write(str);

[/HIGHLIGHT]

Könnte dies in etwa so ablaufen? Und falls ja, wie könnte ich dies sinnvoll in einer Textdatei auch anzeigen? Codepage, ...
 
Du würfelst da ganzschön Dinge durcheinander ....

Um etwas richtig darstellen zu können musst du erstmal wissen wie es kodiert ist. In obigem Fall scheinbar UTF-16, wenn der Inhalt verschieden kodiert ist hast du pech.

Den String erstellst du schon richtig - wenn die Bytes denn UTF-16 darstellen. Du kannst danach wie gewöhnlich weiterarbeiten.

Im ersten Posting sprichst du von Anzeigen, im nächsten schreibst du die Daten so wie du sie gelesen hast wieder in eine Datei?!

max5432 hat gesagt.:
wie könnte ich dies sinnvoll in einer Textdatei auch anzeigen? Codepage, ...
Ergibt null (0) Sinn. Eine Datei enthält Bytes, aber zeigt nichts an.

Ich denke du solltest nochmal grundlegend erläutern was du überhaupt vor hast...
 
Um etwas richtig darstellen zu können musst du erstmal wissen wie es kodiert ist. In obigem Fall scheinbar UTF-16, wenn der Inhalt verschieden kodiert ist hast du pech.

Klar. Nun, die Tatsache ist, dass ich nicht immer weiss, wie eben die Daten kodiert sind. Ich kann mich entweder damit abfinden, dass ich "Pech" habe, oder eben herauszufinden probieren, wie die Codierung aussieht. Es stimmt: mühsam und nicht gerade erfolgsversprechend.

Ich denke du solltest nochmal grundlegend erläutern was du überhaupt vor hast...

Ich bekomme eine Damp-Datei (Auszug aus dem Speicher), in der so ziemlich allerlei zu finden ist: diverse Datenkonstrukte und die diversesten Codierungen (nicht nur Unicode, ASCII usw.), sondern die von Hand gestrickten. Und aus diesem Chaos sollte ich möglichst viele Daten auslesen und sie so darstellen, dass man sie lesen kann! Da ich zur Zeit auch auf die Arabische Sprache gestossen bin, frage ich mich, wie ich einen solchen Text überhaupt auf Papier bringe, um es lesen zu können.

Mein Lösungsansatz: Ich probiere die extrachierten Inhalte in eine HTML-Datei zu schreiben (ص؜ usw.), da ich solche Inhalte in einem Browser (nach meiner Meinung) relativ gut darstellen kann. Die Sache ist jedoch inzwischen recht aufwändig geworden, da ich Daten in eine XML-Datei zuerst schreibe und anschliesend mit XSL die HTML-Datei erstelle. Der Aufwand ist um einiges höher geworden als ich gedacht habe, aber ich sehe im Moment keinen einfacheren Weg.

Vielen Dank für jedenTipp.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben