유니코드 BOM 및 FileReader
BOM(바이트 순서 표시)이 있는 UTF-8 인코딩 파일을 읽을 때 문제가 발생할 수 있습니다. 파일 내용과 함께 출력되는 BOM 마커의 모습입니다. 이는 유니코드가 인코딩된 텍스트의 엔디안을 지정하기 위해 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!