2010-11-25 3 views
1

ich eine Datei (.jpg-Bilddatei) in eine txt-Datei (ASCII-Code)Was ist der beste Weg, um Binärdaten in Zeichendaten zu konvertieren?

jetzt konvertieren wollen, hatte ich zwei Pläne, Datei Bytes Hex, und Base64

File file=new File("D:/temp/1.jpg"); 
    byte[] bytes=getBytesFromFile(file); 
    System.out.println("bytes:"+bytes.length);//bytes:9006 
    String hex=HexUtil.asHex(bytes); 
    String base64=Base64.encode(bytes); 
    System.out.println("hex:"+hex.length());//hex:18012 
    System.out.println("base64:"+base64.length());//base64:12165 

Ich denke, konvertieren Base64 ist besser, weil 12165 weniger als hexadezimal gesendet wird.

Ich möchte wissen, jede andere gute Idee, es zu tun?

vielen dank! :)

+2

Ihre Frage kann wie "Was ist der beste Weg, um Binärdaten in Zeichendaten konvertieren?" Neu formuliert werden. Ja, normalerweise wird Base64 dafür verwendet. – BalusC

+0

danke, ich habe meinen titel repariert, mein englisch ist scheiße, sorry :) – Koerr

Antwort

6

Base64 ist mehr oder weniger der Standard Weg zur Übertragung von binären Informationen als String. Also ja, du machst es richtig. Wikipedia:

Base64-Kodierungsschemata häufig verwendet werden, wenn es notwendig ist, um binäre Daten zu codieren, die gespeichert werden muss und über Medien übertragen, die mit Textdaten ausgelegt sind

In meiner Praxis beschäftigen Ich Sie haben es verwendet, um angehängte Dokumente zu übertragen, wenn Sie sie über Webdienste senden. (Dies wurde von der Regierung geregelt (das Projekt war über E-Government))

Verwandte Themen