use utf8

来源:互联网 发布:sql求和函数 编辑:程序博客网 时间:2024/05/21 08:02
[mqm@node01 perl]$ cat a1.pl #use utf8;open (LOG ,"<","aa") or die  $!;  while (<LOG>){    if ($_ =~/验证/){print "$_\n";};    };[mqm@node01 perl]$ perl a1.pl 这是验证信息[mqm@node01 perl]$ cat a1.pl use utf8;open (LOG ,"<","aa") or die  $!;  while (<LOG>){    if ($_ =~/验证/){print "$_\n";};    };[mqm@node01 perl]$ perl a1.pl [mqm@node01 perl]$ utf8 -- Perl 编译指标来启动/关闭 UTF-8(或者UTF-EBCDIC)在源代码: use utf8; no utf8; 转换一个Perl scalar 内部表示 to/from UTF-8描述:使用utf8 编译指令告诉 Perl 解析器允许UTF-8 在程序文本在当前的词汇范围。使用utf8 编译指令告诉Perl 解析 [mqm@node01 perl]$ cat a1.pl use utf8;open (LOG ,"<","aa") or die  $!;  while (<LOG>){    if ($_ =~/验证/){print "$_\n";};    };[mqm@node01 perl]$ perl a1.pl [mqm@node01 perl]$ [mqm@node01 perl]$ cat a1.pl use utf8;use Encode;open (LOG ,"<","aa") or die  $!;  while (<LOG>){    my $d=encode_utf8('验证');    if ($_ =~/$d/){print "$_\n";};    };[mqm@node01 perl]$ perl a1.pl 这是验证信息使用utf8编译 告诉Perl 解释器来允许UTF-8 在程序文件在当前的词汇范围。no utf8 标注 告诉Perl  切换回对待 source text 作为文字字节在当前的文本范围不要使用注释对于任何其他除了告诉Perl 你的脚本是用UTF-8写的。因为 它不可能可靠的告诉UTF-8 从本地的8位编码,你需要 一个字节顺序标记 在你的源代码开头,或者 use utf8 来指导perl当UTF-8 变的标准源格式,这个指令将会有效变成一个空操作启用utf8 语法有下面的作用:字节在source 文本 不是以ASCII 码字符集 会对待为一个原UTF-8序列的一部分。注意 如果你没有ASCII,no-UTF-8 字节在你的脚本,使用utf8 会不高兴。功能函数:下面的 函数是定义在 utf8:: package 通过Perl 核心包。你不需要say use utf8 来使用那些,实际上 你不应该说 除非你需要UTF-8 源代码。$num_octets = utf8::upgrade($string)(因为Perl v5.8.0)转换代替内部的 字符串表示从一个8位字节的顺序在内部编码(Latin-1 or EBCDIC) to UTF-8.逻辑的字符串顺序本身是可以改变的,如果 $string 是以为存储为一个utf-8逻辑的字符顺序本身是不可改变的,如果$string 是已经存储为UTF-8,然后是一个空字符串。返回8位字节的数值来表示一个字符串为UTF-8。注意 这个函数不能处理任意编码, use Encode instead.$success = utf8::downgrade($string[, $fail_ok])(自从Perl v5.8.0)转换代替 内部的字符串陈述从UTF-8 到相等的8位字节顺序在本地编码逻辑 字符顺序本身是不能改变的,如果 $string 是已经存储为native 8 bit,然后这是一个非空操作。注意,这个参数不处理任意的编码,use Encode instead.utf8::encode($string)(因为Perl v5.8)将转换替换 字符顺醋到相应的8位字节在UTF-8。也就是说,每个(可能的宽)字符 得到替换一个或者多个字符的顺序 表示 单个UTF-8 bytes of the character. UTF8 flag 是被关闭的,没有返回

0 0
原创粉丝点击