네로개발일기

개발자 네로의 개발 일기, 자바를 좋아합니다 !

반응형

파일 문자셋 확인 라이브러리 / Encoding Detector / juniversalchardet 

파일의 문자셋 encoding을 확인하고 싶을 때 사용하는 라이브러리이다.

감지할 수 있는 인코딩 종류

  • Chinese
    • ISO-2022-CN
    • BIG-5
    • EUC-TW
    • HZ-GB-2312
    • GB-18030
  • Cyrillic
    • ISO-8859-5
    • KOI8-R
    • WINDOWS-1251
    • MACCYRILLIC
    • IBM866
    • IBM855
  • Greek
    • ISO-8859-7
    • WINDOWS-1253
  • Hebrew
    • ISO-8859-8
    • WINDOWS-1255
  • Japanese
    • ISO-2022-JP
    • Shift_JIS
    • EUC-JP
  • Korean
    • ISO-2022-KR
    • EUC-KR
  • Unicode
    • UTF-8
    • UTF-16BE / UTF-16LE
    • UTF-32BE / UTF-32LE / X-ISO-10646-UCS-4-3412 / X-ISO-10646-UCS-4-2143
  • Others
    • WINDOWS-1252
    • US-ASCII

 

Dependency

사용하기 위해선 dependency를 추가해줘야 한다.

maven인 경우 pom.xml에 다음 dependency를 추가한다.

<dependency>
	<groupId>com.github.albfernandez</groupId>
	<artifactId>juniversalchardet</artifactId>
	<version>2.4.0</version>
</dependency>

gradle인 경우 build.gradle에 다음 dependency를 추가한다.

implementation 'com.github.albfernandez:juniversalchardet:2.4.0'

 

Sample Code

import org.mozilla.universalchardet.UniversalDetector;

public class TestDetectorFile {

	public static void main (String[] args) throws java.io.IOException {
		if (args.length != 1) {
			System.err.println("Usage: java TestDetectorFile FILENAME");
			System.exit(1);
		}
		java.io.File file = new java.io.File(args[0]);
		String encoding = UniversalDetector.detectCharset(file);
		if (encoding != null) {
			System.out.println("Detected encoding = " + encoding);
		} else {
			System.out.println("No encoding detected.");
		}
	}
}

 

 출처 

https://github.com/albfernandez/juniversalchardet

 

GitHub - albfernandez/juniversalchardet: Originally exported from code.google.com/p/juniversalchardet

Originally exported from code.google.com/p/juniversalchardet - GitHub - albfernandez/juniversalchardet: Originally exported from code.google.com/p/juniversalchardet

github.com

 

728x90
반응형
blog image

Written by ner.o

개발자 네로의 개발 일기, 자바를 좋아합니다 !