utf8 Perl编译 来启用/禁用 UTF-8(or UTF-EBCDIC) 在源代码里

简洁:

use utf8;
no utf8; # Convert the internal representation of a Perl scalar to/from UTF-8. $num_octets = utf8::upgrade($string);
$success = utf8::downgrade($string[, $fail_ok]); # Change each character of a Perl scalar to/from a series of
# characters that represent the UTF-8 bytes of each original character. utf8::encode($string); # "\x{100}" becomes "\xc4\x80"
utf8::decode($string); # "\xc4\x80" becomes "\x{100}" # Convert a code point from the platform native character set to
# Unicode, and vice-versa.
$unicode = utf8::native_to_unicode(ord('A')); # returns 65 on both
# ASCII and EBCDIC
# platforms
$native = utf8::unicode_to_native(65); # returns 65 on ASCII
# platforms; 193 on
# EBCDIC $flag = utf8::is_utf8($string); # since Perl 5.8.1
$flag = utf8::valid($string) 描述: 使用utf8 编译告诉perl解析器 允许UTF-8在程序文本在当前的词法范围。 no utf8 编译告诉Perl 切回到对待文本作为literal 字节在当前的词法范围。 (在EBCDIC 平台,技术是允许UTF-EBCDIC, 不是UTF-8. 但是这个区别是学术的,因此在这个文件术语UTF-8是用于两者) 不要使用这个编译除了告诉Perl你的脚本是用UTF-8写的。 下面的描述是直接使用没有use utf8: 因为它不可能可靠的告诉UTF-8 从本地的8位编码, 你需要一个字节顺序标记在你的源代码的开始,或者use utf8,来指导perl 当UTF-8 变为标准的源代码格式,这个指令会有效的 变成一个 no-op 也可以查询-C切换的影响和它的cousin, PERL_UNICODE 环境变量 启动utf8程序有下面的影响: 在源文本中的字节不是以 ASCII character set 会被对待一个 literal UTF-8 sequence的一部分。 这包括很多的literals 比如标识符名称,字符串常量,和恒定的正则表达式模式。 注意如果你有non-ASCII, non-UTF-8 字节在你的脚本 use utf8会不高兴。因为你需要有这样的字节在use utf8, 你可以禁用这个程序直到最后的块(或者文件,如果在顶层) 通过使用no utf8 有用的函数; 下面的函数是定义在e utf8:: package,你不需要say use utf8 来使用那些 实际上 你不应该say 除非你真的需要UTF-8源代码

perl use utf8的更多相关文章

  1. perl unload utf-8 oracle 数据库

    perl unload utf-8 Oracle [oracle@oadb sbin]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Produc ...

  2. perl unload utf-8 oracle Wide character in print at unload_oracle.pl line 105.

    #!/usr/bin/perl use DBI; use Encode; my $dbName = 'oadb'; my $dbUser = 'vxspace'; my $dbUserPass = ' ...

  3. perl unicode utf-8 \x转换

    [root@dr-mysql01 ~]# cat x5.pl use Encode; use JSON; use URI::Escape; use LWP::Simple; my $host = &q ...

  4. perl oracle utf-8 结果匹配中文字符

    [oracle@oadb sbin]$ cat s1.pl #!/usr/bin/perl use DBI; use Encode; use HTTP::Date qw(time2iso str2ti ...

  5. Perl中文/unicode/utf8/GB2312之间的转换

    参考:http://daimajishu.iteye.com/blog/959239不过具测试,也有错误:原文如下: # author: jiangyujieuse utf8;  ##在最后一个例子, ...

  6. perl 学习笔记

    一:基础 1:安装perl      centos: yum -y install perl       官网:https://www.perl.org/      升级到5.22:先下载,执行./i ...

  7. 【转】Perl Unicode全攻略

    Perl Unicode全攻略 耐心看完本文,相信你今后在unicode处理上不会再有什么问题. 本文内容适用于perl 5.8及其以上版本. perl internal form 在Perl看来, ...

  8. Perl Unicode全攻略

    Perl Unicode全攻略 耐心看完本文,相信你今后在unicode处理上不会再有什么问题. 本文内容适用于perl 5.8及其以上版本. perl internal form 在Perl看来, ...

  9. perl字符集处理

    本文内容适用于perl 5.8及其以上版本. perl internal form 在 Perl看来, 字符串只有两种形式. 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种u ...

随机推荐

  1. 2013 南京邀请赛 K题 yet another end of the world

    /** 大意:给定一组x[],y[],z[] 确定有没有两个不同的x[i], x[j] 看是否存在一个ID使得 y[i]<=ID%x[i]<=z[i] y[j]<=ID%x[j]&l ...

  2. Nginx小技巧(一)隐藏版本号

    修改nginx.conf server_tokens作用域是http server location语句块 server_tokens默认值是on,表示显示版本信息,设置server_tokens值是 ...

  3. How can you determine how much disk space a particular MySQL table is taking up?

    http://stackoverflow.com/questions/6474591/how-can-you-determine-how-much-disk-space-a-particular-my ...

  4. UVA 103 Stacking Boxes (dp + DAG上的最长路径 + 记忆化搜索)

     Stacking Boxes  Background Some concepts in Mathematics and Computer Science are simple in one or t ...

  5. 【JQuery Plugin】WdatePicker

    <div class="timeSelect reportDate"> <span>查询时间:</span> <input type=&q ...

  6. iOS NSRuntime机制

    什么是Objective-C runtime? 简单来说,Objective-C runtime是一个实现Objective-C语言的C库.对象可以用C语言中的结构体表示,而方法(methods)可以 ...

  7. [转]如何在本地安装 Homebrew

    作者:shede333 主页:http://my.oschina.net/shede333  官网:http://brew.sh/index_zh-cn.html 安装方式见 官网,在shell里执行 ...

  8. 转:js包装DOM对象

    我们在日常的应用中,使用Javascript大多数时间都是在用DOM ,以致于很多人都有一种看法就是DOM==JS,虽然这种看法是错误的,但是也可以说明DOM的重要性. 这就导致了我们在写JS的时候, ...

  9. 【转】关于C语言生成不重复的随机数

    一 说起随机函数,恐怕又有人说这是老生长谈了……一般很多人都形成了自己的固定格式,因为随机数用处比较大,用的时候比较多,拿过来就用了.但是新手不这么 干,他们总是抱有疑惑,我就是一个新手,而且较菜…… ...

  10. 使用Maven构建和部署J2EE应用程序的EAR文件

    这篇文章.主要是技术上的整理,用来mark一下,用的时候參考. 一.新建项目 新建一个空的Maven Project项目 二.放入依赖 注:ear部署时假设里面有entity,会错误发生.所以不要把e ...