Binär-Daten
-
Hi,
ich habe eine Frage zum Einlesen von Binär-Daten:
Kann ich mir C++ geschriebene Datentypen in java einlesen?
Also, z.B.1. Kann ich int und double mit c++ schreiben und dann mit Java einlesen?
(Das würde mir schon vollkommen reichen!)2. Wie kann ich das mit Strings machen?
Wäre doch am sinnvollsten, wenn ich dafür VOR dem Schreiben des Strings die Länge des Strings schreibe, oder gibt es da was besseres?
- Das Programm weiss ja nicht unbedingt, wie lange der String ist, oder doch?Gruss, Tobias
-
vielleicht hilft dir das weiter zum punkt 1
jni
http://www.haertfelder.com/JNIintro.html
klappt gut, kann man mit spielen ...
-
Am einfachsten ists wenn du weisst, wie C++ die Daten in die Datein reinschreibt.
Dann kannst du diese auch relativ locker wieder einlesen.
-
Strings sind noch das harmlosere. Da kannst du z.B. solange chars lesen bis ein null-char kommt und immer an einen String anhängen. integer etc. sind viel problematischer, weil die Art wie sie gespeichert werden ein wneig von der Maschine abhängt. Auf Intel-Kisten z.B. werden die Werte im Little-Endian-Format gespeichert, also z.B. landet 0x12345678 als 0x78 0x56 0x34 0x12 auf der Platte.
Javas abstrakte Maschine dagegen arbeitet im Big-Endian-Format, speichert 0x12345678 also als 0x12 0x34 0x56 0x78 ab. Wenn man das weiß, kann man natürlich problemlos konvertieren. Das Problem gabs vor kurzem schonmal hier: binäre Datei auslesen[ Dieser Beitrag wurde am 11.02.2003 um 20:26 Uhr von TriPhoenix editiert. ]