• use utf8


    [mqm@node01 perl]$ cat a1.pl 
    #use utf8;
    open (LOG ,"<","aa") or die  $!;
      while (<LOG>){
        if ($_ =~/验证/){print "$_
    ";};
        };
    [mqm@node01 perl]$ perl a1.pl 
    这是验证信息
    
    
    
    
    
    [mqm@node01 perl]$ cat a1.pl 
    use utf8;
    open (LOG ,"<","aa") or die  $!;
      while (<LOG>){
        if ($_ =~/验证/){print "$_
    ";};
        };
    [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 "$_
    ";};
        };
    [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 "$_
    ";};
        };
    [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 是被关闭的,没有返回
    

  • 相关阅读:
    如何在文本编辑器中实现搜索功能? 字符串比较算法 BF算法 RK算法
    怎么读源码 读源码的一些技巧
    系统性学习
    堆 二叉堆 找流的中位数
    apk系统签名小技巧
    常用adb命令总结
    Android6.0 源码修改之Setting列表配置项动态添加和静态添加
    AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)
    加载loading对话框的功能(不退出沉浸式效果)
    Android6.0 源码修改之屏蔽导航栏虚拟按键(Home和RecentAPP)/动态显示和隐藏NavigationBar
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349843.html
Copyright © 2020-2023  润新知