Saturday, November 25, 2006
Java/자바] 한글 euc-kr (MS949) 파일을, 유니코드(UTF-8)로 변환 프로그램
현재 운영체제(OS)의 언어에 상관없이, "한글 확장완성형" 인코딩의 파일을 "유니코드(UTF-8)"로 변환하는 프로그램입니다.
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
컴파일 한 후,
euc-kr.txt 라는 이름의 한글 파일을 옵션으로 지정하고 실행한 장면:
이제 하드의 "현재 디렉토리"에 euc-kr.txt.uni 라는 유니코드(UTF-8)파일이 생성됩니다. 원본인 euc-kr.txt 와 내용은 똑같고, 인코딩만 다릅니다.
현재 운영체제 기본 인코딩의 텍스트 파일을 유니코드(UTF-8)로 변환: ▶▶ 자바,Java] 유니코드(UTF-8)변환, KS완성형 파일을 유니코드로 바꾸기
자바에서는 MS949 라는 인코딩을 사용해야만 "똠방각하" 등이 표현됩니다: ▶▶ Java/자바] 한글 확장 완성형; MS949 / cp949 인코딩(Encoding) 문제 해결; 차이 점
한국어(EUC)를 유니코드(UTF-8)로 변환
소스 파일명: Foo.java※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
import java.io.*;
public class Foo {
public static void main(String[] args) {
if (args.length == 0) { // args.length 는 옵션 개수
System.err.println("Input Filename...");
System.exit(1); // 읽을 파일명을 주지 않았을 때는 종료
}
String outFilename = args[0] + ".uni"; // 출력 파일명 만들기, uni 라는 확장자를 붙여서
try {
////////////////////////////////////////////////////////////////
BufferedReader in = new BufferedReader(
new InputStreamReader(
new FileInputStream(args[0]),
"MS949"
)
);
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream(outFilename),
"UTF-8"
)
);
String s;
while ((s = in.readLine()) != null) {
out.write(s); out.newLine();
}
in.close(); out.close();
////////////////////////////////////////////////////////////////
} catch (IOException e) {
System.err.println(e); // 에러가 있다면 메시지 출력
System.exit(1);
}
}
}
public class Foo {
public static void main(String[] args) {
if (args.length == 0) { // args.length 는 옵션 개수
System.err.println("Input Filename...");
System.exit(1); // 읽을 파일명을 주지 않았을 때는 종료
}
String outFilename = args[0] + ".uni"; // 출력 파일명 만들기, uni 라는 확장자를 붙여서
try {
////////////////////////////////////////////////////////////////
BufferedReader in = new BufferedReader(
new InputStreamReader(
new FileInputStream(args[0]),
"MS949"
)
);
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream(outFilename),
"UTF-8"
)
);
String s;
while ((s = in.readLine()) != null) {
out.write(s); out.newLine();
}
in.close(); out.close();
////////////////////////////////////////////////////////////////
} catch (IOException e) {
System.err.println(e); // 에러가 있다면 메시지 출력
System.exit(1);
}
}
}
컴파일 한 후,
euc-kr.txt 라는 이름의 한글 파일을 옵션으로 지정하고 실행한 장면:
D:\Z>javac Foo.java
D:\Z>java Foo euc-kr.txt
D:\Z>
D:\Z>java Foo euc-kr.txt
D:\Z>
이제 하드의 "현재 디렉토리"에 euc-kr.txt.uni 라는 유니코드(UTF-8)파일이 생성됩니다. 원본인 euc-kr.txt 와 내용은 똑같고, 인코딩만 다릅니다.
현재 운영체제 기본 인코딩의 텍스트 파일을 유니코드(UTF-8)로 변환: ▶▶ 자바,Java] 유니코드(UTF-8)변환, KS완성형 파일을 유니코드로 바꾸기
자바에서는 MS949 라는 인코딩을 사용해야만 "똠방각하" 등이 표현됩니다: ▶▶ Java/자바] 한글 확장 완성형; MS949 / cp949 인코딩(Encoding) 문제 해결; 차이 점
tag: java
자바 | Java
<< Home