Schlüsseldatei mit Umlauten parsen, aber wie.

Status
Nicht offen für weitere Antworten.
T

tuxbanker

Gast
Hallo Leute,

ich stehe vor folgendem Problem: Ich möchte eine Datei in einem exotischen, aber spezifizierten Format
parsen. Der Inhalt wirkt etwas kryptisch, was auch so richtig ist, weil die Datei zwar ein Klartextformat
ist, aber Schlüssel für eine gesicherte Kommunikation enthält.

...
uAåv™¿+}Ø5Ë[^M$?Ê}ƒ£p¨š÷Ï·DûzÍû³ŽÐW"‰ˆ ñ×#Be—ÄënÛj7ñŸüèfl@B
Q ~Ó·O.OmVÃæ¼?øy]füÝry˜ ázóÆžl÷?™
li4!]©u@œ~¡Ïð”+\í}>|ˆ;_"ÜvŒI}K´ŽaKr2’?Çi†&zá±i9@MÆ7›ðÊ2;þ¤EQnä¥îM NZ¡¦C
...


Im Großen und Ganzen geht das Parsen ganz gut, allerdings ist ein schlauer Mensch
bei der Spezifizierung des Formats wohl auf die gloreiche Idee gekommen den Tag
für den öffentlichen Schlüssel einfach mit "ÖS", also mit einem Umlaut zu kennzeichnen.
Alle anderen Tags finde ich sofort, aber das ÖS macht probleme. Ich habe nun schon
versucht die entsprechenden Hex-Werte abzugleichen. Leider ohne Erfolg. Was mache
ich beim Einlesen der Datei falsch? Hier mein Code:


Code:
RandomAccessFile in = new RandomAccessFile(filename, "r");
byte file[]  = new byte[(int) in.length()];
			
// read full file
in.readFully(file);


for (int i = 0; i < file.length -1 ; i++) {

if ( (file[i] == 0x52 && file[i+1] == 0x44) || //RD
     (file[i] == 0x44 && file[i+1] == 0x4D) )  //DM
	{
            // do something
	};
					
					
else if (file[i] == 0xd6 && file[i+1] == 0x53){    //ÖS
          // do something other
	   };

}

Die Tags "RD" und "DM" findet er ohne Probleme. Das ÖS überspringt er aber völlig.
Hoffe mal irgendwer kann mir weiterhelfen.
 

Bleiglanz

Gesperrter Benutzer
nachdem das Ö nicht im ASCII Code ist, wirst du wohl den Spezialisten fragen müssen, wie es kodiert wurde

Der Inhalt wirkt etwas kryptisch, was auch so richtig ist, weil die Datei zwar ein Klartextformat...

Entweder es ist Klartext oder nicht, und wenns Klartext ist, dann sollte man Binärdaten da nicht einfach reinschreiben sondern entprechend kodieren (base64, hex, ...)
 

Bleiglanz

Gesperrter Benutzer
ja und, das ist schon richtig
Code:
System.out.println(Arrays.toString("Ö".getBytes("ISO-8859-1")));
System.out.println(Arrays.toString("Ö".getBytes("UTF-8")));
System.out.println(Arrays.toString("Ö".getBytes("UTF-16")));
/* liefert
[-42]
[-61, -106]
[-2, -1, 0, -42]
*/
 
G

Guest

Gast
nachdem das Ö nicht im ASCII Code ist, wirst du wohl den Spezialisten fragen müssen, wie es kodiert wurde

Also die Datei scheint ANSI-codiert zu sein. Zumindest wird das Ö mir in einem Hexeditor mit D6
dargestellt. Lasse ich mir den Inhalt des Feldes mit Integer.toHexString(file[1881]) ausgeben,
liefert mir Java dafür den Hex-Wert ffffffd6.
Dies ist aber als Integer -42 und nicht 214, wie es unter ANSI sein sollte. Versucht Java standardmäßig
ISO-8859-1 zu lesen?

Wie gesagt ist die Datei großteils Klartext, enthält aber gekryptete Passagen, die die Schlüssel enthalten.

Naja, ich versuche mal ein bißchen mit verschiedenen Codierungen herumzuspielen.
Vielen Dank
 

Bleiglanz

Gesperrter Benutzer
das ding wird nach int promoted (deshalb ffffffd6) und ist genau das richtige Byte (nur für die Ausgabe wird -42 geschrieben)

und: 0x6d ist ein int literal, der aber 214 ist, und die linke Seite des vergleichs wird zum int -42 gecastet...

versuch
Code:
      if(file[i]==-42){
            System.out.println("gefunden");
        }
        if(file[i]==(byte)0xd6){
            System.out.println("gefunden");
        }
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
krgewb Problem mit Umlauten und Eszett bei InputStream Allgemeine Java-Themen 3
D Frage zu Java und Umlauten / charsets Allgemeine Java-Themen 2
V Files mit Umlauten ergeben keine Größe Allgemeine Java-Themen 9
S Falsches Encoding bei Drag and Drop von Umlauten Allgemeine Java-Themen 16
I FTP Probleme mit Umlauten in Dateinamen Allgemeine Java-Themen 5
B Problem mit ArrayList<String> und Umlauten Allgemeine Java-Themen 8
N Probleme mit Umlauten beim Einlesen Allgemeine Java-Themen 6
Guybrush Threepwood Effizientes Ersetzen von Umlauten Allgemeine Java-Themen 3
Daniel_L Desktop-Api: Problem mit open() und Umlauten Allgemeine Java-Themen 5
S Alternative zu Robot (wegen Umlauten) Allgemeine Java-Themen 13
A Probleme mit Umlauten in der Java RE unter Debian Linux Allgemeine Java-Themen 2
V Frage zu Umlauten in Java Allgemeine Java-Themen 4
K Inhalte Parsen von Website Allgemeine Java-Themen 15
W JSON parsen eines ,mit JS.stringify erstellten Strings Allgemeine Java-Themen 27
C Parsen einer sich updatenden Html mithilfe von jsoup Allgemeine Java-Themen 4
O JSON in Integer parsen Allgemeine Java-Themen 5
S Ini Text aus String parsen Allgemeine Java-Themen 1
OnDemand Datenbankdatei parsen Allgemeine Java-Themen 2
N svg(xml) parsen und manipulieren? Allgemeine Java-Themen 3
OnDemand CSV parsen mehrere Zeilen Allgemeine Java-Themen 22
2 mehrere Json Werte Parsen Allgemeine Java-Themen 3
G JSON parsen Allgemeine Java-Themen 3
W String Parsen und auf eigenes Muster anwenden (kein Regex) Allgemeine Java-Themen 11
looparda Datei parsen Allgemeine Java-Themen 1
T Jsoup: Mehrere Links nacheinander parsen Allgemeine Java-Themen 11
C Benutzereingabe von EXCEL-Funktionen parsen Allgemeine Java-Themen 4
B Such-String parsen mit Klammern Allgemeine Java-Themen 2
L Windows CMD werte Parsen. Allgemeine Java-Themen 2
B XML parsen Allgemeine Java-Themen 13
H Bestimmten Wert aus String parsen Allgemeine Java-Themen 7
0 Parsen Allgemeine Java-Themen 7
W Best Practice Dateien parsen Allgemeine Java-Themen 3
X Tags "parsen" Allgemeine Java-Themen 8
A Parsen mit java_cup - Shift/Reduce Problem Allgemeine Java-Themen 12
C Roboter, Befehle parsen Allgemeine Java-Themen 12
M Informationen aus komplexen String parsen Allgemeine Java-Themen 13
W Dateinamen dynamisch Parsen Allgemeine Java-Themen 12
F JavaMail - Lokale eMail-Datei einlesen und parsen? Allgemeine Java-Themen 9
T String in Date parsen (*ohne* bekanntes Format) Allgemeine Java-Themen 8
M Dateien mit Quelltext parsen Allgemeine Java-Themen 7
W RegEx Zeile parsen Medium Allgemeine Java-Themen 8
S Dateiname mit Regex parsen Allgemeine Java-Themen 3
K _alle_ Sonderzeichen parsen Allgemeine Java-Themen 2
S Feher beim Parsen eines Datums Allgemeine Java-Themen 4
E Reguläre Txt in Tree parsen Allgemeine Java-Themen 2
S Strings zu Color-Instanzen parsen? Allgemeine Java-Themen 7
S Überprüfung/Parsen eines Byte-Arrays Allgemeine Java-Themen 9
martin82 Java-Code aus Text-Datei parsen Allgemeine Java-Themen 3
A String zu Datum parsen - SimpleDateFormat Problem Allgemeine Java-Themen 8
A Datum parsen Allgemeine Java-Themen 9
G Parsen von: if(a > 15 AND (b == 3 OR c != 4)) Allgemeine Java-Themen 3
G String nach Float parsen Allgemeine Java-Themen 2
P OutOfMemoryError beim XML erstellen bzw parsen, mehr RAM? Allgemeine Java-Themen 4
H2SO3- Exception beim date parsen des Jahres 00 Allgemeine Java-Themen 6
H2SO3- date mit pm and am parsen Allgemeine Java-Themen 3
Z Datum ohne Format-Kenntnisse parsen Allgemeine Java-Themen 5
T Wie kontinuierlichen asci input parsen? Allgemeine Java-Themen 3
C Java Quellcode parsen Allgemeine Java-Themen 8
alexpetri Date Parsen Allgemeine Java-Themen 3
G String parsen und Problem mit escaped zeichen Allgemeine Java-Themen 4
M Html parsen Allgemeine Java-Themen 2
D Parameter parsen? Allgemeine Java-Themen 15
V Datum parsen Allgemeine Java-Themen 6
MQue String parsen Allgemeine Java-Themen 11
M wie sinnvoll parsen ? Allgemeine Java-Themen 4
M Link parsen bzw. zerlegen Allgemeine Java-Themen 9
padde479 String in double parsen Allgemeine Java-Themen 6
W Package via Reflection parsen Allgemeine Java-Themen 4
M MP3 Datei selber parsen/werte auslesen Allgemeine Java-Themen 13
J parsen von verschiedenen dokument typen Allgemeine Java-Themen 3
B textzeile parsen Allgemeine Java-Themen 6
G mail body parsen (->attachment & filename) Allgemeine Java-Themen 2
J DirectPlay Server-Antwort parsen Allgemeine Java-Themen 2
S String parsen Allgemeine Java-Themen 15
V LogFile parsen Allgemeine Java-Themen 5
E Field-Objekt in JTextField parsen Allgemeine Java-Themen 3
L Prozesse parsen ? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben