Ist ein Zeichen 1 byte oder 2 Byte in Java?

Dachte ich Zeichen in java 16 bit, wie vorgeschlagen, in java-doc. Ist es nicht der Fall für strings? Ich habe einen code speichert ein Objekt in eine Datei:

public static void storeNormalObj(File outFile, Object obj) {
    FileOutputStream fos = null;
    ObjectOutputStream oos = null;
    try {
        fos = new FileOutputStream(outFile);
        oos = new ObjectOutputStream(fos);
        oos.writeObject(obj);
        oos.flush();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            oos.close();
            try {
                fos.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Im Grunde habe ich versucht, das speichern einer Zeichenfolge "abcd" im Datei -"output", als ich öffnete output mit einem editor gelöscht und die keine string-Teil, was übrig bleibt, ist nur die Zeichenfolge "abcd", die 4 bytes in total. Weiß jemand, warum? Macht java automatisch spart Platz durch die Verwendung von ASCII statt UNICODE-Strings, die kann unterstützt werden, indem ASCII? Dank

  • Nur so ein Gedanke: könnte es nicht sein, dass Java speichert in UTF-8?
  • Ja, genau - es speichert Strings im modifizierten UTF-8...
InformationsquelleAutor user685275 | 2011-05-13
Schreibe einen Kommentar