String [] in UTF8 formal Speichern

Tis

Mitglied
Hallo ,

Ich hab die Aufgabe Exceldateien einzulesen und in Textdateien zu speichern und zwar in UTF8 format , Bis jetzt funktioniert alles nur habe ich kein plan wie ich das mit den UTF8 machen soll, hat einer vielleicht erfahrung mit sowas****


Gruß,


Tis
 
Hiermit würdest du UTF8 im Darstellungsformat dezimal rausbekommen.

Java:
public class Test {
   
   public static void main(String[] args) {

      //Test String
      String a = "Ich bin ein String";
      
      byte[] utf8 = a.getBytes();
      
      for( int i = 0; i < a.length(); i++ ) {
         String kar = String.valueOf(utf8[i]);    
         System.out.println(kar);
      }

   }

}

Das ist jetzt nur ein kleines Beispiel.. du musst/solltest es natürlich nach deinem Wünschen und/oder gebrauch abwandeln.
 
Hallo,

was hilft dir hier nicht weiter?
Ich denke die Zeile
Java:
byte[] utf8 = new String(latin1, "ISO-8859-1").getBytes("UTF-8");
sollte dein Problem eigentlich lösen.

Gruß
BK
 
Vielen dank erstmal :)

Java:
byte[] utf8 = new String(latin1, "ISO-8859-1").getBytes("UTF-8");

Ich seh das diese zeile ein UTF8 string erwartet , jedoch will ich in einen verwandeln und nicht in einen kodieren, korrigiert mich wenn ich falsch liege

Gruß,
tis
 
Hallo,

inwiefern erwartet diese Zeile einen UTF8-String? Du übergibst dem Konstruktor von String einen String im ISO-8859-1 Format (Variable "latin1") und er gibt dir ein byte[] mit der UTF8 kodierten Form des Strings zurück.
Diese kannst du dann über deinen (z.B.) FileOutputString in die Datei schreiben.

Gruß
BK
 
  • Gefällt mir
Reaktionen: Tis
Hallo,

inwiefern erwartet diese Zeile einen UTF8-String? Du übergibst dem Konstruktor von String einen String im ISO-8859-1 Format (Variable "latin1") und er gibt dir ein byte[] mit der UTF8 kodierten Form des Strings zurück.
Diese kannst du dann über deinen (z.B.) FileOutputString in die Datei schreiben.

Gruß
BK

verstehe, weißt du wie ich in FileOutputStream den ein byte in eine Datei schreibe?

Java:
public class bytes {
public static void main (String[]args) throws IOException{
	
	
	byte[] utf8 = new String(latin1, "ISO-8859-1").getBytes("UTF-8");
	FileOutputStream fos = new FileOutputStream ("tefler.txt");
	fos.write(utf8);
	fos.close();
}
}

du meintest latin1 wäre ein string ? es ****t jedenfalls nicht wenn ich eine Variable latin1 string mache und was einfügen will

Gruß
tis
 
Zuletzt bearbeitet von einem Moderator:
Zurück