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

 
Previous Post 구글어스 사용법 / 문제 해결 - Google Earth펄,Perl] 여러 개의 파일 한꺼번에 일괄 처리, 와일드카드; opendir, readd...C언어] unsigned 형의 의미, 부호 없는 정수, unsigned int, signe...C언어/자바,Java] char를 int로 변환; char to float, long, 자...그래픽 파일의 종류/그림,사진 파일의 확장자 종류: Graphics File Format ...도스/도스창(cmd.exe)용 실행파일/명령어 만드는, 언어/프로그램은? Creating ...펄.Perl] 배열 출력, 배열을 문자열로 변환, Print Array, Array to ...펄/Perl] 여러 개의 빈줄 삭제, 하나의 빈줄로 합치기, Collapse Multipl...펄/Perl] 숫자 배열 정렬(소팅), sort 함수 사용법: Sort Number Arr...펄/Perl] 문자열 배열 정렬(소팅), sort 함수 사용법: Sort String Ar...

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

Sunday, October 22, 2006

한글 완성형 텍스트 즉 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 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top