Heim >Java >javaLernprogramm >Warum erscheint die Stücklistenmarkierung in der FileReader-Ausgabe beim Lesen von UTF-8-codierten Dateien?
Einbindung von BOM-Markern in die FileReader-Ausgabe
Bei Verwendung eines FileReaders zum Lesen einer UTF-8-codierten Datei mit einer BOM (Byte Order Mark ), kann die Stücklistenmarkierung versehentlich in der Ausgabezeichenfolge erscheinen. Dies liegt daran, dass die Stückliste als Teil der UTF-8-codierten Darstellung des Textes enthalten ist.
Um zu verstehen, warum dies geschieht, ist es wichtig zu beachten, dass es sich bei der Stückliste um ein Sonderzeichen oder eine Sonderzeichenfolge handelt, die das angibt Kodierung einer Textdatei. Im Fall von UTF-8 wird das BOM durch die Bytefolge EFBBBF dargestellt.
Wenn der FileReader die Datei liest, dekodiert er die Zeichen mithilfe der UTF-8-Kodierung. Das BOM ist jedoch kein gültiges Unicode-Zeichen und wird daher während des Dekodierungsvorgangs nicht übersprungen oder entfernt. Stattdessen ist es in der Zeichenfolge enthalten, die von der Methode readLine() zurückgegeben wird.
Um dieses Problem zu vermeiden, können Sie die folgenden Ansätze verwenden:
Das obige ist der detaillierte Inhalt vonWarum erscheint die Stücklistenmarkierung in der FileReader-Ausgabe beim Lesen von UTF-8-codierten Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!