perl use utf8

来源:互联网 发布:golang cgo windows 编辑:程序博客网 时间:2024/05/21 15:02
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源代码

0 0