Unicode BOM 和FileReader
讀取帶有位元組順序標記(BOM) 的UTF-8 編碼檔案時,您可能會遇到以下問題BOM 標記與文件內容一起輸出。發生這種情況是因為 Unicode 定義了 BOM 來指定編碼文字的位元組順序,如果處理不當,它可能會被解釋為字元序列。
在您的程式碼片段中:
避免 BOM 標記包含在輸出中:
String content = new String(Files.readAllBytes(Paths.get(file)), "UTF-8"));
if (tmp.length >= 3 && tmp[0] == (byte) 0xEF && tmp[1] == (byte) 0xBB && tmp[2] == (byte) 0xBF) { // Remove the BOM marker tmp = Arrays.copyOfRange(tmp, 3, tmp.length); }
以上是如何避免讀取UTF-8編碼檔案時輸出BOM標記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!