2017-09-09 7 views
-4

Dies ist der Code, den ich verwende, wenn ich es ausführe und öffne die Ausgabedatei, sehe ich Hallo Welt gespeichert.Warum ist meine Ausgabe nicht in Byte-Code? Bei Verwendung von FileOutputStream und der Verwendung der .getBytes-Methode

Warum ist es so?

+2

Was möchten Sie fragen? – UmarZaii

+0

Es scheint, dass Sie ein grundlegendes Missverständnis darüber haben, was Bytes sind und wie Dateispeicher funktioniert. Alle Dateien aller Typen sind Bytefolgen; Es hängt von einer Anwendung wie einem Texteditor ab, wie diese Bytes zu interpretieren sind. – VGR

+0

Im Lernen über Byte-Streams und Zeichenströme, ich dachte, wenn ich einen Fileoutputstream unter Byte-Streams ausführen, wird das Ergebnis eine Art von Maschinencode sein – KingOfDaNorf

Antwort

0

Die Bytes, die Sie in die Datei geschrieben haben, sind tatsächlich die ASCII-Codezeichenfolge. Zweifellos ist Ihre Ausgabedatei eine Textdatei. Die meisten Programme behandeln Datei als 'Text', wenn es kein Nicht-Text-Zeichen, d. H. NULL-Byte, Steuerzeichen etc.

+0

Also die getBytes gibt ASCII-Code zurück, danke Sir – KingOfDaNorf

+1

Wenn die Zeichenfolge, wo Sie 'getBytes' aufrufen, ASCII-Zeichen enthält, dann ja, es gibt ASCII in Bytes zurück. Wenn die Zeichenfolge UTF-Zeichen enthält, gibt sie die Bytes für diese Zeichen zurück. – dunni

+1

_ "So gibt die getBytes ASCII-Code zurück" _ - Nein, es nimmt die UTF-16-Werte in der Quellzeichenfolge und _encoding_ sie in der Standardzeichensatz der Plattform, die in den USA würde wahrscheinlich ISO-8859-1 sein , was ein _Superset_ von ASCII ist. Alle UTF-16-Zeichen, die im Zielzeichensatz nicht vorhanden sind, werden in das Zeichen "Standard Ersetzung" geändert. –

Verwandte Themen