�����׸�â�� (Animal Pictures Archive)

�������� ����ٹ� : ���(����)
 
"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
"; echo "�����׸�â���� ��ϸ鼭 ���ݾ� ������ ����� ������� ������ ����� �۵��� ��ҽ��ϴ�."; echo "".$ad_code."
"; echo ""; fclose($handle); } ?>

MBCS�� �����ڵ�(Unicode)

�����ۼ���: 2006�� 02�� 02��
  1. MBCS (Multi-byte Character Set)
  2. �����ڵ� (Unicode)
  3. � ����...
MBCS�� �����ڵ�� �����Ͽ� ���ǰ� ���ͼ� ������ ���ҽ��ϴ�.
MBCS (Multi-byte Character Set)
MBCS�� Multi-byte Character Set�� �����Դϴ�. ���߹���Ʈ��� �ϴ� ��ó�� 1���� ���ڸ� ǥ���ϴµ� 1����Ʈ �Ǵ� 2����Ʈ�� ����մϴ�. ��� ���������� ��쿡�� 1����Ʈ�� ǥ���DZ� ������ SBCS(Single-byte Character Set)����� �մϴ�. �Ϲ������� ASCII��� �ϴ� ���ڵ��� SBCS�� �����ϴٰ� �� �� �ֽ��ϴ�. �׷��� �߱���, �Ϻ���, �ѱ��� ���� 1����Ʈ�δ� 1���� ���ڸ� ǥ���� �� ���� ������ 2����Ʈ�� �������� �ϳ��� ���ڸ� ǥ���մϴ�. �׷��� DBCS(Double-byte Character Set)����� �մϴ�. MBCS == SBCS + DBCS��� �� �� �ְڱ���.

MBCS������ �� ���ڰ� 1����Ʈ�� �͵�� �� ���ڰ� 2����Ʈ�� �͵��� ���� �ְ� �˴ϴ�. �׷��� 1����Ʈ�� �� ��������, 2����Ʈ�� �� ���������� ��� �����ұ��? 1���� ����Ʈ�� �о 0x80(������ 128)���� ���� �͵��� ��� 1���� ���ڸ� ǥ���մϴ�(SBCS). �׷��� �̰��� 0x80���� ũ�ų� ���� ��쿡�� �ι�° ����Ʈ�� �����Ͽ� 2����Ʈ�� �ϳ��� ���ڸ� ǥ���ϰ� �˴ϴ�(DBCS). �� ����Ʈ�� �ϳ��� ���ڸ� ��Ÿ�� ���, ù��° ����Ʈ�� Lead Byte, �ι�° ����Ʈ�� Trail Byte��� �Ѵ�ϴ�. Lead Byte�� 0x7F(127)���� �׻� Ŀ�� ������, Trail Byte�� 0�� �ƴϸ� �ȴٴ±���.

���� ���ǿ� ������ SBCS�� \0(null)�� �����ϰ� 127���� ���ڸ� ǥ���� �� �ֽ��ϴ�. 1�����ڿ� �̸��� �ѱ��� ǥ���ϱ⿡�� �ſ� �����ϰ� �Ϻ����� ���󰡳� 50�ڿ� ���ٰ��� 50�ڸ� ǥ���ϱ⿡�� ������ ���� �ֽ��ϴ�. ���� ���ڴ� �õ� ��������? �׷��� 2����Ʈ �������� DBCS�� ����ϰ� �Ǵµ� �� ��쿡�� Lead Byte�� 128~255�� 128��, Trail Byte�� 0�� ������ 255�ڸ� ����� �� �����Ƿ� 128*255 == 32640���� ���ڸ� ǥ���� �� �ֽ��ϴ�. MBCS�� ��ü������ 127+32640 == 32767���� ���ڸ� ����� �� �ִٴ� �̷����� ����� ���ɴϴ�.

���� ������� MBCS�� �ϳ��� ���ڵ����� ���� ������ �ֽ��ϴ�. ������ MBCS�� ���ڵ��� �ƴ϶� ���ڵ� ����� ���ϴ� ���Դϴ� (���� ��Ȯ�ϰԴ� 2����Ʈ�� ���ڸ� ǥ���ϴ� �������յ��� �̸��� ���̶�� ���߰ڱ���). �� MBCS�� �ش��ϴ� ���ڵ��̶� Shift-JIS, EUC-KR, BIG5 ��� ���� �Ϻ���, �ѱ�, �߱��� ���� 2����Ʈ�� ���ڵ��ϴ� ������� �̸��� ����� ���ø� �˴ϴ�(���� MBCS���ٴ� DBCS�� � �鿡���� ���� ��Ȯ�� ǥ���� �� �� �ֽ��ϴ�). ���� ��Ȯ�� �ǻ������ ���ؼ��� "EUC-KR�� UTF-16 ���ڵ��� ���̴�?", "UCS-2�� UTF-8�� �ٸ� ����?" ��� ���� ��Ȯ�� ���ڵ��� ����ؾ� �մϴ�. �Ʒ� ǥ�� ���������� ǥ�� �̸��� �� ǥ�ؿ��� �θ� ���Ǵ� ���ڵ����� �����غ��ҽ��ϴ�(Unicode�� ISO/IEC 10646�� �ణ�� ���̴� ������ ������ ǥ���̶�� ���ø� �˴ϴ�).

������������ ǥ�����ڵ����
MBCSKSC 5601-1987EUC-KR�ѱ� ���ڵ�
JIS X 0208-1990EUC-JP
Shift-JIS
�Ϻ��� ���ڵ�
GB 18030BIG5
GB2312
�߱��� ��ü ���ڵ�
�߱��� ��ü ���ڵ�
UnicodeUnicodeUTF-16�����ڵ� 2����Ʈ ���ڵ�
UnicodeUTF-32�����ڵ� 4����Ʈ���ڵ�
UnicodeUTF-8�����ڵ� multi-byte ���ڵ�
ISO/IEC 10646UCS-2����ǥ��ȭ�ⱸ(ISO), 2����Ʈ ���ڵ�
ISO/IEC 10646UCS-4����ǥ��ȭ�ⱸ(ISO), 4����Ʈ ���ڵ�

�����ڵ�(Unicode)�� ���ڵ�
�����ڵ忡 ���� �ڼ��� ������ �����ڵ�(Unicode)�� �����ڵ� ���ڵ� �������� �����Ͻʽÿ�. �� �������� ���ø� �����ڵ� ���� ���ڵ����� �����Ǿ� �ֽ��ϴ�. �����ϰ� �����غ��� UCS-2, UCS-4, UTF-8, UTF-16, UTF-32 ���� ���ڵ��� �ֽ��ϴ�. �ణ�� ���̴� ������ UCS-2 == UTF-16, UCS-4 == UTF-32��� ���ø� �˴ϴ�. �� �ΰ���, �Ǵ� 4����, ���ڵ��� �� ���ڸ� ǥ���ϴ� ����Ʈ ���� �����մϴ�. UCS-2�� UTF-16�� 1���� ���ڸ� 2����Ʈ��(UTF-16������ 4����Ʈ�� ǥ���˴ϴ� ������ �ֽ��ϴ�). UTF-32�� UCS-4�� 1���ڰ� 4����Ʈ�� �����մϴ�. UTF-8�� 1~4����Ʈ�� �������� ���̷� �����ڵ忡 ���ǵǴ� ��� ���ڸ� ǥ���� �� �ֽ��ϴ�. �ڼ��� ���� ���� ��ũ�� �����Ͻʽÿ�.
� ����
MBCS�� UCS2�� ���� ������ �־� �̷��� ���ϵ帳�ϴ�.

///////////////////
�ؽ�Ʈ�տ� L�� ��ġ�� USC2�� ��ȯ�Ǵ� ������ �˰� �ֽ��ϴ�.
"ȿ��"��� �ؽ�Ʈ�� ���� ������ ���� �Ʒ��� �����ϴ�.
 
 "ȿ��" => 0xBFC8 0xAEB8   //MBCS
 L"ȿ��" => 0xD6A8 0xB9AC   //UCS2
  
MBCS�� UCS2�� ��������
UCS2�� �׻� 2����Ʈ�� �Ҵ��ϴ� �ݸ�,
MBCS�� 1����Ʈ�� ǥ���� �� �ִ� ���ڴ� 1����Ʈ�� ǥ���ϴ� �ɷ� �˰� �ֽ��ϴ�. (i.e ASCII)
��, MBCS�� �ѹ��ڿ� ���� �Ҵ�Ǵ� ����Ʈ�� �������� �ʴٴ� ����.
	 
���⼭ �ǹ��� �ֽ��ϴ�.
"ȿ��"��� ���ڸ� ���ε�� ����, �� UCS2�� ���� MBCS�� ���� �ٸ� �ɱ��?
������ 2����Ʈ�� �Ҵ�Ǵµ� MBCS���� UCS2�� ������ ���� �Ҵ��ع�����,
MBCS <=> UCS2 ���� �ؽ�Ʈ ��ȯ�� �����ٵ���. �ƴѰ���?
(UCS2�� ���� ����Ʈ�� 0�� ��쿡�� MBCS���� 1����Ʈ�� ǥ���ϸ� ���� �������?)
	 
Ư���� ������ �ִ� �� ������ �� ������ �ּ���.

���� ������ ������ ���� �� ���ڵ��� �������� ���ؼ� ����� �� �ִ� �����̶�� �� �� �ֽ��ϴ�. MBCS(�� ���������� EUC-KR)�� �ι���Ʈ�� ���տ� ���ؼ� �ϳ��� ���ڸ� ǥ���մϴ�. �� 'ȿ'�ڴ� 0xBFC8�̶�� ���ٴ� 0xBF + 0xC8�� ���տ� ���ؼ� �ϳ��� ���ڸ� ǥ���ϴ� ���Դϴ�. �ݸ�, UCS2�� 'ȿ'(0xD6A8)�� �ι���Ʈ ��ü�� �ϳ��� ���Դϴ�. C ��Ÿ�Ϸ� �̾߱��Ѵٸ� EUCKR�� 'ȿ'�� char[2]�̰�, UCS-2������ unsigned short int��� ���ø� �˴ϴ�.

�׸���, �ռ� ������ �ٿ� ���� EUC-KR���� �̷������� ǥ���� �� �ִ� ������ ���� 32767���Դϴ�. �׷��� EUC-KR�� ǥ�� ���������� KSC-5601������ �������� ������ �־ �ѱ� 2350��, ���� 4888��, Ư������ 1128�ڸ��� �����ϰ� �ֽ��ϴ�. �ݸ� UCS-2������ 255*255-1 == 65535���� ���ڸ� ǥ���� �� �ֽ��ϴ�. UCS-2������ �ѱ� 11172�� ��ΰ� ǥ���Ǿ���, ���ڵ� 27786�ڸ� �����ϰ� �ֽ��ϴ�(Unicode 4.0 ǥ�ؿ����� �������� ���ڰ� �� �߰��Ǿ����ϴ�). �̿� ���� EUC-KR(�Ǵ� MBCS)�� �����ڵ�� ���ڸ� ǥ���� �� �ִ� ������ �ٸ��� �翬�� �� ������ �Ҵ��� �޶���������.

�� �ϳ��� ������ EUC-KR�� ���, �ѱ� ����ڸ��� ���� ���ڵ��̹Ƿ� ���� ���ĺ�, ����, Ư������, �ѱ�, ���� �Ϻ� ��� ǥ���ϸ� �˴ϴ�. �ƶ�����, �±����� ���� ��쿡�� EUC-KR���� ������ �ʿ䰡 ��������. ��ó�� MBCS���� 2����Ʈ ���������� �� ������ ������ ���缭 ���������� ������� �������յ��Դϴ�. �׷��� ���Ŀ� �����ڵ� �������� ������� Unicode�� �������� ���ڸ� �������� �ϴ� ���������̹Ƿ� ��� ���� ���Ǵ� ���ڸ� �Ǿ�� �մϴ�. �׷��ڸ� �翬�� EUC-KR������ ������ �������� �߻��� �� �ۿ� ������ ���Դϴ�. �ѱ� ����ڸ��� ���� KSC-5601�� �����ڵ忡 ������ ���� �����ϱ�� ���������? �츮���� �̱����� �������� ���뱹�� �ƴϴϱ� ���Դϴ�.

MBCS-UCS2���� �ؽ�Ʈ ��ȯ�� iconv��� ���̺귯���� �̿��ϸ� �� ���Դϴ� (libiconv Ȩ�������� �����Ͻʽÿ�). �ٸ� UCS2�� �⺻ ������ unsigned short int�̱� ������ char[]�� string Ÿ������ ó���ϱⰡ ����ϴ�(UCS-4�� ��쿡�� unsigned int���� ���� ������ ������ ������ �߻��մϴ�). ���� ����Ʈ�� 0�� ������ ����������. �׷��� UTF-8�̶�� ���ڵ��� ����������ϴ�. �� ���ڵ������� ������ ��� ASCII�� �����մϴ�. ���������� ��쿡�� 2����Ʈ��, �ѱ��� 3����Ʈ, ���ڴ� 3����Ʈ �Ǵ� 4����Ʈ�� ���ڵ��˴ϴ�. �� ���ڵ��� Ư¡�� ��������Ʈ�� ���� 0�� ������ �ʽ��ϴ�. �׷��� C�� char �迭�̳� C++�� string Ÿ���� �״�� �����ؼ� ����� �� �ִ� ������ �ֽ��ϴ�. �̷� ���������� ���� ���α׷��ֿ����� UTF-8�� ���� ���� ����ϴ� ������ ���Դϴ�. UTF-8�� ���� �ڼ��� ������ �����ڵ�(Unicode)�� �����ڵ� ���ڵ� ������ �����Ͻʽÿ�.

�ռ� �����帰 �ٿ� ���� MBCS���� ǥ���� �� ���ǿ��� ���������� (�����δ� ISO 2022��� ����ǥ���� �ֱ�� �մϴ�) ���ǵǾ� �� �͵��̱� ������ MBCS���� ǥ�ؿ��� �Ļ��� ���ڵ����� �ٱ�� ǥ���ϱ� ����ٴ� ������ �ֽ��ϴ�. KSC5601�� �����ڵ忡 ���ǵ� ���ڼ��� ���̿��� �� �� �ֵ��� MBCS���� ǥ�ؿ����� ǥ���� �� �ִ� ������ ���� �����ڵ忡 ���� �ſ� ���ѵǾ� �ִ� ���� �� �� �ֽ��ϴ�. ����μ��� Windows 9X �迭�� OS������ ����ϱ� ����ٴ� ������ ������ ���������� �����ڵ�(Unicode), ���ڵ��� UTF-8�� ����� ���� �����մϴ�. ������ �����׸�â���� �ٱ�� �����ϱ� ���� UTF-8�� ��������Ͽ� ��ǰ� �ֽ��ϴ�.

2006-02-03 ������

  �����׸�â�� ���     ��ڿ��� ���� ������
��ϸ��� ������� â�� Ȩ
Copyright © since 1995, �����׸�â�� (Animal Pictures Archive). All rights reserved.