JAVA

JAVA 자바 파일 인코딩 확인하기 관련

AlrepondTech 2012. 5. 18. 13:46
반응형

 

 

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

 

출처: http://devhome.tistory.com/29

 


파일의 인코딩을 확인하기 위해서는 유니코드 파일 헤더(BOM)를 확인하여 판단할 수 있다.

유니코드 파일 헤더란?

링크: 유니코드 파일 헤더(Unicode File Header) - BOM(Byte-order mark)


파일 인코딩 확인하기

01.// 1. 파일 열기
02.FileInputStream fis = new FileInputStream(filePath);
03. 
04.// 2. 파일 읽기 (4Byte)
05.byte[] BOM = new byte[4];
06.fis.read(BOM, 0, 4);
07. 
08.// 3. 파일 인코딩 확인하기
09.if( (BOM[0] & 0xFF) == 0xEF && (BOM[1] & 0xFF) == 0xBB && (BOM[2] & 0xFF) == 0xBF )
10.System.out.println("UTF-8");
11.else if( (BOM[0] & 0xFF) == 0xFE && (BOM[1] & 0xFF) == 0xFF )
12.System.out.println("UTF-16BE");
13.else if( (BOM[0] & 0xFF) == 0xFF && (BOM[1] & 0xFF) == 0xFE )
14.System.out.println("UTF-16LE");
15.else if( (BOM[0] & 0xFF) == 0x00 && (BOM[1] & 0xFF) == 0x00 &&
16.(BOM[0] & 0xFF) == 0xFE && (BOM[1] & 0xFF) == 0xFF )
17.System.out.println("UTF-32BE");
18.else if( (BOM[0] & 0xFF) == 0xFF && (BOM[1] & 0xFF) == 0xFE &&
19.(BOM[0] & 0xFF) == 0x00 && (BOM[1] & 0xFF) == 0x00 )
20.System.out.println("UTF-32LE");
21.else
22.System.out.println("EUC-KR");

 

 

 

=================================

=================================

=================================

 

 

반응형