首頁  >  文章  >  Java  >  如何處理 UTF-8 編碼檔案中的 BOM 標記?

如何處理 UTF-8 編碼檔案中的 BOM 標記?

Barbara Streisand
Barbara Streisand原創
2024-11-19 04:47:02616瀏覽

How to Handle BOM Markers in UTF-8 Encoded Files?

UTF-8 編碼檔案中的BOM 標記

讀取具有BOM(位元組順序標記)的UTF-8 編碼檔案時,可能會無意中包含BOM 標記在輸出字串中。要解決此問題,請按照以下步驟操作:

FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String tmp = null;
String content = "";

while ((tmp = br.readLine()) != null) {
    String text;
    if (tmp.startsWith("\uFEFF")) {
        // Skipping the BOM marker
        text = tmp.substring(1);
    } else {
        text = tmp;
    }

    content += text + System.getProperty("line.separator");
}

在此更新的程式碼中:

  • 我們使用String.startsWith("uFEFF") 檢查目前行是否以BOM 標記。
  • 如果有,我們使用 String.substring(1) 刪除 BOM 標記。
  • 如果沒有,我們按原樣使用原始行。
  • 然後我們將修改後的行附加到內容字串中。

透過在將其附加到輸出字串之前刪除 BOM 標記,我們可以防止它出現在最終結果中。

以上是如何處理 UTF-8 編碼檔案中的 BOM 標記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn