컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Sunday, October 22, 2006

펄,Perl] 한글 완성형(euc-kr)파일, 유니코드(UTF-8)로 변환 저장, Convert Unicode


한글 완성형 텍스트 즉 euc-kr 인코딩의 파일을, 유니코드(UTF-8)로 변환하는 펄 스크립트입니다.

kr2utf8.pl 이라는 스크립트명 뒤에, 변환할 한글 완성형 파일명을 적어주면 됩니다. 출력 파일명은, 입력된 한글 파일명 끝에 .uni 라는 확장자를 붙여서 자동으로 만듭니다.

한글 인코딩 파일명이 in.txt 라면, in.txt.uni 라는 이름으로 유니코드 파일이 만들어집니다.


와일드 카드를 지원하려고 하니, 오히려 소스를 이해하는 데 방해가 될 것 같았습니다. 그래서 한 번에 하나의 파일만 변환할 수 있게 했습니다. 여러 개의 파일을 동시에 변환하려면 여기를 참고하시기 바랍니다: ▶▶ 펄,Perl] 여러 개의 파일 한꺼번에 일괄 처리, 와일드카드; opendir, readdir


완성형 한국어(euc-kr) 파일을 유니코드(UTF-8)로 변환


#!/usr/bin/perl
use strict; use warnings;

  &help if $#ARGV == -1; # 옵션이 없으면 도움말 출력하고 종료

  # 변환 작업을 할 함수를 호출
  &fileEncodingConverter($ARGV[0], "cp949", "UTF-8"); # 입력 파일명, 입력 파일의 인코딩, 출력 파일의 인코딩



# 변환 작업을 할 함수의 본체
sub fileEncodingConverter {

  my $in_file      = $_[0];  # 입력 한국어 파일명
  my $in_file_enc  = $_[1];  # 입력 한국어 파일의 인코딩 (확장 완성형 cp949; euc-kr)
  my $out_file_enc = $_[2];  # 출력 유니코드 파일 인코딩

  my $out_file = $_[0] . ".uni"; # 입력 파일명 끝에, ".uni" 라는 확장자를 붙여, 출력 파일명 만들기


  open  IN, "<:encoding($in_file_enc)",   $in_file or die "$!\n";
  open OUT, ">:encoding($out_file_enc)", $out_file or die "$!\n";


  foreach (<IN>) {
    print OUT $_;
  }
  close IN; close OUT;
}


sub help { # 입력 파일을 지정하지 않았을 때, 도움말 출력하는 서브루틴
  die <<TEXT;

   * 한글 완성형 텍스트 파일을, 유니코드(UTF-8)로 변환 *

     사용법:

       kr2utf8.pl <한글 완성형 입력 파일>


     출력 파일명은, 입력 파일명의 끝에 .uni 확장자가 자동으로 붙음.
     출력된 UTF-8 파일에는 BOM 이 없음.

TEXT
}


변환 작업이 성공했을 경우, 화면에 아무 글자도 나오지 않습니다.

펄이 아닌, 그냥 일반 편집기로 변환하는 방법은 여기에 있습니다: ▶▶ 한글 텍스트 문서를, 유니코드(Unicode / UTF-8) 로 변환하기

☞ Perl(펄)

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top