camel

���礦�ɤ�������ʤΤǡ�Perl 5.8�ʹߤˤ�����utf8�ե饰��Ω������

unknownplace.org - 2008/02/17 - utf8::is_utf8
�Ȥ������Ȥǡ�"\x{6751}\x{702c}\x{5927}\x{8f14}" �ʤɤȤ���Data::Dumperɽ���Ǥ��ʤ餺���� utf-8�ե饰�����Ĥ櫓����ʤ����Ȥ������Ȥ����������ä�����Ȼפ��Τ�����ɡ�

\x{UUUUUU}��utf8 flag

�ޤ��ϥ������Ǥ����ʲ����ɤ����Ϥ���뤫�������ʤ�����

sub pfrag{ print utf8::is_utf8($_[0]) ? 1 : 0, "\n" }
pfrag "Hell\xC3, world!";
pfrag "Hell\x{C3}, world!";
pfrag "Hell\x{FFC3}, world!";

�����ϡ���0,0,1�Ȱ�Ԥ��Ľ��Ϥ����פǤ��������use utf8�ץ饰�ޤȤϴط��ʤ���ˤ����ʤ�ޤ���

����Ǥϡ�Perl�Ϥɤ��򸫤ƥե饰���ڤ��ؤ��Ƥ���ΤǤ��礦?\x{UUUUUU}����ȤǤ���UUUUUU����0x100�ʾ�ξ��Τ�Τ���ĤǤ�ޤޤ�Ƥ���Хե饰��Ω�ơ������Ǥʤ����Ω�Ƥޤ���

ľ�񤭤�utf8 flag

����Ǥϡ��ʲ��ξ��Ϥɤ��Ǥ��礦����

sub pfrag{ print utf8::is_utf8($_[0]) ? 1 : 0, "\n" }
no utf8;
{
   use utf8;
   pfrag "��";
   pfrag "\x{c3}��";
}
{
  pfrag "��";
  pfrag "\x{c3}��";
}

�����ϡ���1,1,0,0�Ȱ�Ԥ��Ľ��Ϥ����פǤ������ξ�硢use utf8�ץ饰�ޤ�̵ͭ������ޤ����Ѥ��ޤ���

�ʾ��pseudocode�ǤޤȤ��ȡ��ʲ��ΤȤ���Ȥʤ�ޤ���

if (����������(���������פ�ޤ��)ascii�ʳ���ʸ�������äƤ���?){
  utf8flag = utf8�ץ饰��;
}else{
  if (����������\x{}��\N{}�ʤɤΥ��������פ��ޤޤ�Ƥ���){
    utf8flag = ord(\x{}) >= 0x100 ���ޤޤ�Ƥ���? 1 : 0;
  }
  else{
    utf8flag = 0;
  }
}

�ʤ������ʤäƤ��뤫�Ȥ����С����̸ߴ�����"Perl��ʸ����ƥ���ISO-LATIN-1�Ǥ���"�Ȥ�������ξQ�ǽ񤫤줿�����ɤ����ޤ��¿���ä��ΤǤ����������ˤʤ�ޤ�����

����̵�Ѥ�utf8�ե饰��Ω�Ƥ�

����Ǥϡ�����̵�Ѥ�utf8�ե饰��Ω�Ƥ�ˤϤɤ�������褤�Ǥ��礦�������ΤȤ����θ����ο侩��

use Encode;
my $utf8 = decode_utf8($unknown);

�Ȥʤ�ޤ���Perl 5.8.1�����

utf8::decode($unknown);

��Ȥ���褦�ˤʤ�ޤ���������������Ԥξ��ϰ���������ξ��ϻȤ��ޤ��󡣥ե饰���ѹ���񤭹��ߤ��������뤫��Ǥ������Ԥ������٥����ץ饯�ƥ����Ǥ������εա�����̵�Ѥǥե饰����Ȥ��ˤϡ�

use Encode;
my $bytes = encode_utf8($unknown);

�Ȥ��ޤ���

Dan the Encode Maintainer