|
|
perlko - Perl�� �ѱ��� ���ڵ�
Perl�� ���迡 ���� ���� ȯ���մϴ� !
Perl�� 5.8.0�Ǻ��� �����ڵ�/ISO 10646�� ���� �������� ������ �մϴ�. �����ڵ� ������ ��ȯ���� �������� ����� ���� �������� �����ڵ� ������ ���� �־��� ���ݵ� �θ� ���̰� �ִ� ������ ���ڵ��� �����մϴ�. �����ڵ�� �� ���迡�� ���̴� ��� �� ���� ǥ�� ü�� - ������ ��ƾ ���ĺ�, Ű�� ���ĺ�, ���� ���ĺ�, �ε��� ���� �ƽþ��� ���� �迭 ��ũ��Ʈ, �ƶ� ����, ���긮 ����, �������� ����, �ѱ����� �ѱ�, �Ϻ����� ����, �Ϲ� �ε���� ǥ�� ü�� ��-�� �����ϴ� ���� ��ǥ�� �ϰ� �ֱ� ������ ������ ���̴� �� ��� �� ���� ���� � ü�迡 ������ ���� ���հ� ���ڵ��� �� �� �ִ� ��� ���ڴ� �����̰� ���� ���� ���տ��� �����ϰ� ���� �ʴ� ���� ���� ���ڸ� �����ϰ� �ֽ��ϴ�.
Perl�� ���������� �����ڵ带 ���� ǥ���� ���� ����մϴ�. ���� ��ü������ ���ϸ� Perl ��ũ��Ʈ �ȿ��� UTF-8 ���ڿ��� �� �� �ְ�, ���� �Լ��� ������(���� ���, ���Խ�, index, substr)�� ����Ʈ ���� ��� �����ڵ� ���� ������ �����մϴ�. (�� �ڼ��� ���� perlunicode �Ŵ����� �����Ͻʽÿ�.) �����ڵ尡 �θ� ���DZ� ���� �θ� ���̰� �־���, ������ �θ� ���̰� �ִ� ����/�� �� ���ڵ����� ������� �ϰ� �̵� ���ڵ����� �� �����Ϳ� ������ �ٷ�� ���� ���� ���� '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, ���� � ���� ���� �� ���� ����
�����ڵ� ���ҽþ�.
�⺻������ Unicode�� ���� ISO ǥ���� ISO/IEC 10646 UCS(Universal Character Set)�� ����� ISO/IEC JTC1/SC2/WG2�� �� ������.
�ѱ��� ���� ���� �� ���ڵ��� ���� �ȳ�.
���н�/���������� �����ڵ�� UTF-8 ��뿡 ���� ������(FAQ)
���н�/���������� �����ڵ�� UTF-8 ��뿡 ���� ������(FAQ)�� �ѱ��� ����
the Encode manpage, the Encode::KR manpage, the encoding manpage, the perluniintro manpage, the perlunicode manpage
Jarkko Hietaniemi <jhi@iki.fi> ������ <jshin@mailaps.org>