Perlì€ 5.8.0íŒë¶€í„° ìœ ë‹ˆì½”ë“œ/ISO 10646ì— ëŒ€í•œ 광범위한 ì§€ì›ì„ 합니다. ìœ ë‹ˆì½”ë“œ ì§€ì›ì˜ ì¼í™˜ìœ¼ë¡œ 한중ì¼ì„ 비롯한 세계 ê°êµì—서 ìœ ë‹ˆì½”ë“œ ì´ì „ì— ì“°ê³ ìžˆì—ˆê³ ì§€ê¸ˆë„ ë„리 ì“°ì´ê³ 있는 ìˆ˜ë§Žì€ ì¸ì½”ë”©ì„ ì§€ì›í•©ë‹ˆë‹¤. ìœ ë‹ˆì½”ë“œëŠ” ì „ 세계ì—서 ì“°ì´ëŠ” ëª¨ë“ ì–¸ì–´ë¥¼ 위한 표기 체계 - ìœ ëŸ½ì˜ ë¼í‹´ 알파벳, 키릴 알파벳, 그리스 알파벳, ì¸ë„와 ë™ë‚¨ ì•„ì‹œì•„ì˜ ë¸Œë¼ë¯¸ 계열 스í¬ë¦½íЏ, ì•„ëž ë¬¸ìž, 히브리 문ìž, 한중ì¼ì˜ 한ìž, 한êµì–´ì˜ 한글, ì¼ë³¸ì–´ì˜ 가나, ë¶ë¯¸ ì¸ë””ì•ˆì˜ í‘œê¸° 체계 등-를 수용하는 ê²ƒì„ ëª©í‘œë¡œ í•˜ê³ ìžˆê¸° ë•Œë¬¸ì— ê¸°ì¡´ì— ì“°ì´ë˜ ê° ì–¸ì–´ ë° êµê°€ ê·¸ë¦¬ê³ ìš´ì˜ ì²´ê³„ì— ê³ ìœ í•œ ë¬¸ìž ì§‘í•©ê³¼ ì¸ì½”ë”©ì— ì“¸ 수 있는 ëª¨ë“ ê¸€ìžëŠ” ë¬¼ë¡ ì´ê³ 기존 ë¬¸ìž ì§‘í•©ì—서 ì§€ì›í•˜ê³ 있지 ì•Šë˜ ì•„ì£¼ ë§Žì€ ê¸€ìžë¥¼ í¬í•¨í•˜ê³ 있습니다.
Perlì€ ë‚´ë¶€ì 으로 ìœ ë‹ˆì½”ë“œë¥¼ ë¬¸ìž í‘œí˜„ì„ ìœ„í•´ 사용합니다. 보다 구체ì 으로 ë§í•˜ë©´ Perl 스í¬ë¦½íЏ 안ì—서 UTF-8 문ìžì—´ì„ 쓸 수 ìžˆê³ , ê°ì¢… 함수와 ì—°ì‚°ìž(예를 들어, ì •ê·œì‹, index, substr)ê°€ ë°”ì´íЏ 단위 ëŒ€ì‹ ìœ ë‹ˆì½”ë“œ ê¸€ìž ë‹¨ìœ„ë¡œ ë™ìž‘합니다. (ë” ìžì„¸í•œ ê²ƒì€ perlunicode ë§¤ë‰´ì–¼ì„ ì°¸ê³ í•˜ì‹ì‹œì˜¤.) ìœ ë‹ˆì½”ë“œê°€ ë„리 보급ë˜ê¸° ì „ì— ë„리 ì“°ì´ê³ ìžˆì—ˆê³ , ì—¬ì „ížˆ ë„리 ì“°ì´ê³ 있는 ê°êµ/ê° ì–¸ì–´ë³„ ì¸ì½”딩으로 ìž…ì¶œë ¥ì„ í•˜ê³ ì´ë“¤ ì¸ì½”딩으로 ëœ ë°ì´í„°ì™€ 문서를 다루는 ê²ƒì„ ë•기 위해 'Encode'ê°€ 쓰였습니다. 무엇보다 'Encode'를 ì¨ì„œ ìˆ˜ë§Žì€ ì¸ì½”딩 사ì´ì˜ ë³€í™˜ì„ ì‰½ê²Œ í• ìˆ˜ 있습니다.
'Encode'는 다ìŒê³¼ ê°™ì€ í•œêµì–´ ì¸ì½”ë”©ì„ ì§€ì›í•©ë‹ˆë‹¤.
US-ASCII와 KS X 1001ì„ ê°™ì´ ì“°ëŠ” 멀티바ì´íЏ ì¸ì½”딩 (í”히 완성형ì´ë¼ê³ 불림.) KS X 2901ê³¼ RFC 1557 ì°¸ê³ .
MS-Windows 9x/MEì—서 ì“°ì´ëŠ” 확장 완성형. euc-krì— 8,822ìžì˜
한글 ìŒì ˆì„ ë”한 것임. alias는 uhc, windows-949, x-windows-949,
ks_c_5601-1987. 맨 마지막 ì´ë¦„ì€ ì ì ˆí•˜ì§€ ì•Šì€ ì´ë¦„ì´ì§€ë§Œ, Microsoft
ì œí’ˆì—서 CP949ì˜ ì˜ë¯¸ë¡œ ì“°ì´ê³ 있ìŒ.
KS X 1001:1998 ë¶€ë¡ 3ì—서 ê·œì •í•œ 조합형. ë¬¸ìž ë ˆí¼í† 리는 cp949와
마찬가지로 US-ASCII와 KS X 1001ì— 8,822ìžì˜ 한글 ìŒì ˆì„ ë”한 것임.
ì¸ì½”딩 ë°©ì‹ì€ ì „í˜€ 다름.
RFC 1557ì—서 ê·œì •í•œ 한êµì–´ ì¸í„°ë„· ë©”ì¼ êµí™˜ìš© ì¸ì½”딩으로 US-ASCII와
KS X 1001ì„ ë ˆí¼í† 리로 하는 ì ì—서 euc-krê³¼ 같지만 ì¸ì½”딩 ë°©ì‹ì´ 다름.
1997-8ë…„ 경까지 쓰였으나 ë” ì´ìƒ ë©”ì¼ êµí™˜ì— ì“°ì´ì§€ 않ìŒ.
KS X 1001(KS C 5601)ì„ GL(즉, MSB를 0으로 한 경우) ì— ë†“ì•˜ì„ ë•Œì˜
ì¸ì½”딩. US-ASCII와 결합하지 ì•Šê³ ë‹¨ë…으로 ì“°ì´ëŠ” ì¼ì€ X11 등ì—서 글꼴
ì¸ì½”딩 (ksc5601.1987-0. '0'ì€ GLì„ ì˜ë¯¸í•¨.)으로 ì“°ì´ëŠ” ê²ƒì„ ì œì™¸í•˜ê³ ëŠ”
ê±°ì˜ ì—†ìŒ. KS C 5601ì€ 1997ë…„ KS X 1001로 ì´ë¦„ì„ ë°”ê¾¸ì—ˆìŒ. 1998ë…„ì—는 ë‘
ê¸€ìž (ìœ ë¡œí™” 부호와 ë“±ë¡ ìƒí‘œ 부호)ê°€ ë”해졌ìŒ.몇 가지 사용 ì˜ˆì œë¥¼ ì•„ëž˜ì— ë³´ìž…ë‹ˆë‹¤.
예를 들어, euc-kr ì¸ì½”딩으로 ëœ íŒŒì¼ì„ UTF-8로 ë³€í™˜í•˜ë ¤ë©´ 다ìŒê³¼ ê°™ì´ í•˜ë©´ ë©ë‹ˆë‹¤.
perl -Mencoding=euc-kr,STDOUT,utf8 -pe1 < file.euckr > file.utf8
ì—ë³€í™˜ì€ ë‹¤ìŒê³¼ ê°™ì´ í• ìˆ˜ 있습니다.
perl -Mencoding=utf8,STDOUT,euc-kr -pe1 < file.utf8 > file.euckr
ì´ëŸ° ë³€í™˜ì„ ì¢€ë” íŽ¸ë¦¬í•˜ê²Œ í• ìˆ˜ 있ë„ë¡ Encode ëª¨ë“ˆì„ ì¨ì„œ
순수하게 Perl로만 ì“°ì¸ piconvê°€ Perlì— ë“¤ì–´ 있습니다.
ê·¸ ì´ë¦„ì—서 알 수 ìžˆë“¯ì´ piconv는 Unixì— ìžˆëŠ” iconv를
모ë¸ë¡œ 한 것입니다. ê·¸ ì‚¬ìš©ë²•ì€ ì•„ëž˜ì™€ 같습니다.
piconv -f euc-kr -t utf8 < file.euckr > file.utf8
piconv -f utf8 -t euc-kr < file.utf8 > file.euckr
ë˜, 'PerlIO::encoding' ëª¨ë“ˆì„ ì¨ì„œ 한êµì–´ ì¸ì½”ë”©ì„ ì“°ë©´ì„œ ê¸€ìž ë‹¨ìœ„
(ë°”ì´íЏ 단위가 아니ë¼) 처리를 쉽게 í• ìˆ˜ 있습니다.
#!/path/to/perl
use encoding 'euc-kr', STDIN => 'euc-kr',
STDOUT-> 'euc-kr', STDERR=>'euc-kr';
print length("가나"); # 2 (í° ë”°ì˜´í‘œëŠ” ê¸€ìž ë‹¨ìœ„ 처리를 지시)
print length('가나'); # 4 (ìž‘ì€ ë”°ì˜´í‘œëŠ” ë°”ì´íЏ 단위 처리를 지시)
print index("한강, 대ë™ê°•", "ì—¼"); # -1 ('ì—¼'ì´ ì—†ìŒ)
print index('한강, 대ë™ê°•', 'ì—¼'); # 7 (8번째와 9번째 ë°”ì´íŠ¸ê°€ 'ì—¼'ì˜
코드값과 ì¼ì¹˜í•¨.)
Perlì„ ì„¤ì¹˜í•˜ë©´ 대단히 ìžì„¸í•œ 문서가 ê°™ì´ ë”°ë¼ ì˜¤ë©°, ì´ ë¬¸ì„œë¥¼ 통해 Perl ì „ë°˜ ë¿ ì•„ë‹ˆë¼ ìœ ë‹ˆì½”ë“œ ì§€ì›, Encodeì˜ ì‚¬ìš©ë²• ë“±ì— ë§Žì€ ê²ƒì„ ë°°ìš¸ 수 있습니다. ì•„ì§ ì´ ë¬¸ì„œëŠ” 현재 ëª¨ë‘ ì˜ì–´ë¡œ ì“°ì—¬ 있습니다.
O'Reillyì˜ Perl 웹 페ì´ì§€
Comprehensive Perl Archive Network
Perl ë©”ì¼ë§ 리스트. ë§Žì€ ë¦¬ìŠ¤íŠ¸ ê°€ìš´ë° perl-unicodeì—서 'Encode'ì— ëŒ€í•´ ë…¼ì˜í•¨.
Perl í•œêµ ì‚¬ìš©ìž ëª¨ìž„
한êµì–´ Perl 뉴스 그룹
Perl ë§ê±°ìФ (서울)
Home for Korean Perlmanias
O'Reillyì—서 나온 한êµì–´ Perl 서ì 목ë¡
Perl 기초 강좌 ë° ì†ŒìŠ¤, 최근 ë™í–¥, ê´€ë ¨ 해외 사ì´íЏ ë§í¬
Perlì— ê´€ë ¨ëœ CGI, DB, ì—°ë™ ë“±ì— ëŒ€í•œ ì •ë³´ ë° ë‰´ìŠ¤ ì œê³µ
ìœ ë‹ˆì½”ë“œ 컨소시엄.
한êµì–´ ë¬¸ìž ì§‘í•© ë° ì¸ì½”ë”©ì— ëŒ€í•œ 안내.
ìœ ë‹‰ìŠ¤/리눅스ì—서 ìœ ë‹ˆì½”ë“œì™€ UTF-8 ì‚¬ìš©ì— ëŒ€í•œ 문답집(FAQ)
ìœ ë‹‰ìŠ¤/리눅스ì—서 ìœ ë‹ˆì½”ë“œì™€ UTF-8 ì‚¬ìš©ì— ëŒ€í•œ 문답집(FAQ)ì˜ í•œêµì–´ 번ì—