tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
4256
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    helavi helavi ist offline Mitglied
    Registriert seit
    Aug 2004
    Beiträge
    15
    Hallo,
    ich bin Anfänger und habe ein wohl für die meisten von euch triviales Problem und hoffe hier auf Unterstützung.

    Ich habe eine Datei mit hex-Zahlen, die ich in ein lesbares Format überführen möchte. Mein Vorhaben war, die Datei paarweise einzulesen, den ascii Wert zu berechnen und diesen als char auszugeben. Klappt leider nicht, da ich mit der read() Methode immer einen int, nämlich den ascii-Wert des eingelesenen Characters erhalte (der aber Teil meiner 2 stelligen hexzahl ist), und mit diesem Wert keine Rechenoperation durchführen kann.

    Beispiel:
    Die vorhandene Datei enthält z.B. 756c
    Die Zieldatei soll hieraus ein ul generieren.

    Erklärung:
    75 hex = 7*16+5 = 117 decimal und ist der ascii Wert von u
    6c hex = 6*16+12 = 108 decimal und ist der ascii Wert von l

    Wahrscheinlich gibt es hierfür in Java vorgefertigte Methoden, man muß nur wissen welche und wo man sie findet.

    Ich hoffe auf eure Unterstützung.
    helavi
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Siehe:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    public class HexToChar {
        public static void main(String[] args) {
            String str = "756c756c756c756c756c756c756c756c756c756c";
            convertStr(str);
        }
     
        /**
         * @param str
         */
        private static void convertStr(String str) {
            int len = str.length();
     
            if (len % 2 != 0)
                throw new IllegalArgumentException("Nur Zeichenketten gerader länge werden akzeptiert!");
     
            for (int i = 0; i < len - 1; i += 2) {
                char c = (char) Integer.parseInt(str.substring(i, i + 2), 16);
                System.out.print(c); 
            }
        }
    }

    Gruß Tom
     

Ähnliche Themen

  1. Convertierung Unicode in "lesbare Zeichen"
    Von kodak im Forum .NET Café
    Antworten: 1
    Letzter Beitrag: 28.05.09, 20:11
  2. Ascii Zeichen in Hex umwandeln
    Von Fireball1982 im Forum .NET Archiv
    Antworten: 7
    Letzter Beitrag: 18.02.09, 09:33
  3. 3dxml Datei -> 3ds Max lesbare Datei konvertieren!
    Von smo83 im Forum 3D Studio Max
    Antworten: 1
    Letzter Beitrag: 27.08.08, 09:16
  4. Ascii Zeichen Umwandeln
    Von lernen.2007 im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 07.04.05, 14:45
  5. UTF-8 Zeichen umwandeln in z.B. ISO8859-2
    Von justuslopas im Forum PHP
    Antworten: 3
    Letzter Beitrag: 26.01.04, 12:18