ðÒÏÆÉÌØ: áÎÏÎÉÍ (×ÈÏÄ | ÒÅÇÉÓÔÒÁÃÉÑ) ÎÅRU opennet.me  
OpenNET

[ ÎÏ×ÏÓÔÉ /+++ | ÆÏÒÕÍ | ÔÅÇÉ |    ]

éÎÔÅÒÁËÔÉ×ÎÁÑ ÓÉÓÔÅÍÁ ÐÒÏÓÍÏÔÒÁ ÓÉÓÔÅÍÎÙÈ ÒÕËÏ×ÏÄÓÔ× (man-Ï×)

 ôÅÍÁîÁÂÏÒëÁÔÅÇÏÒÉÑ 
 
 [CÐÉÓÏË ÒÕËÏ×ÏÄÓÔ× | ðÅÞÁÔØ]

perlcn (1)
  • >> perlcn (1) ( òÁÚÎÙÅ man: ëÏÍÁÎÄÙ É ÐÒÉËÌÁÄÎÙÅ ÐÒÏÇÒÁÍÍÙ ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÇÏ ÕÒÏ×ÎÑ )
  •  

    NAME

    perlcn - 简体中文 Perl 指�
     
    

    DESCRIPTION

    欢迎�到 Perl 的天地!

    从 5.8.0 版开始, Perl 具备了完善的 Unicode (统一�) 支�, 也连带支�了许多拉�语系以外的编�方�; CJK (中日韩) 便是其中的一部份. Unicode 是国际性的标准, 试图涵盖世界上所有的字符: 西方世界, 东方世界, 以�两者间的一切 (希腊文, �利亚文, 亚拉伯文, 希伯�文, �度文, �地安文, 等等). 它也容纳了多�作业系统与平� (如 PC �麦金塔).

    Perl 本身以 Unicode 进行�作. 这表示 Perl 内部的字符串数��用 Unicode 表示; Perl 的函�与算符 (例如正规表示�比对) 也能对 Unicode 进行�作. 在输入�输出时, 为了处�以 Unicode 之�的编�方�存放的数�, Perl �供了 Encode 这个模�, �以让你轻易地读��写入旧有的编�数�.

    Encode 延伸模�支�下列简体中文的编�方� ('gb2312' 表示 'euc-cn'):

        euc-cn      Unix 延伸字符集, 也就是俗称的国标�
        gb2312-raw  未�处�的 (低比特) GB2312 字符表
        gb12345     未�处�的中国用�体中文编�
        iso-ir-165  GB2312 + GB6345 + GB8565 + 新增字符
        cp936       字�页 936, 也�以用 'GBK' (扩充国标�) 指明
        hz          7 比特逸出� GB2312 编�
    
    

    举例�说, 将 EUC-CN 编�的档案转� Unicode, 祗需键入下列指令:

        perl -Mencoding=euc-cn,STDOUT,utf8 -pe1 < file.euc-cn > file.utf8
    
    

    Perl 也内附了 ``piconv'', 一支完全以 Perl 写�的字符转�工具程�, 用法如下:

        piconv -f euc-cn -t utf8 < file.euc-cn > file.utf8
        piconv -f utf8 -t euc-cn < file.utf8 > file.euc-cn
    
    

    �外, 利用 encoding 模�, 你�以轻易写出以字符为��的程��, 如下所示:

        #!/usr/bin/env perl
        # �动 euc-cn 字串解�; 标准输出入�标准错误都设为 euc-cn 编�
        use encoding 'euc-cn', STDIN => 'euc-cn', STDOUT => 'euc-cn';
        print length("骆驼");          #  2 (�引�表示字符)
        print length('骆驼');          #  4 (�引�表示字节)
        print index("谆谆教诲", "蛔唤"); # -1 (�包�此�字符串)
        print index('谆谆教诲', '蛔唤'); #  1 (从第二个字节开始)
    
    

    在最å�Žä¸€åˆ—例å­�里, ``è°†'' 的第二个字节与 ``è°†'' 的第一个字节结å�ˆæˆ� EUC-CN ç �çš„ ``è›”''; ``è°†'' 的第二个字节则与 ``æ•™'' 的第一个字节结å�ˆæˆ� ``唤''. 这解决了以å‰� EUC-CN ç �比对处ç�†ä¸Šå¸¸è§�的问题.  

    �外的中文编�

    如果需�更多的中文编�, �以从 CPAN (<http://www.cpan.org/>) 下载 Encode::HanExtra 模�. 它目��供下列编�方�:

        gb18030     扩充过的国标�, 包��体中文
    
    

    �外, Encode::HanConvert 模�则�供了简�转�用的两�编�:

        big5-simp   Big5 �体中文与 Unicode 简体中文互转
        gbk-trad    GBK 简体中文与 Unicode �体中文互转
    
    

    若想在 GBK 与 Big5 之间互转, 请�考该模�内附的 b2g.pl 与 g2b.pl 两支程�, 或在程�内使用下列写法:

        use Encode::HanConvert;
        $euc_cn = big5_to_gb($big5); # 从 Big5 转为 GBK
        $big5 = gb_to_big5($euc_cn); # 从 GBK 转为 Big5
    
    
     

    进一步的信�

    请å�‚考 Perl 内附的大é‡�说明文件 (ä¸�幸全是用英文写的), æ�¥å­¦ä¹ æ›´å¤šå…³äºŽ Perl 的知识, 以å�Š Unicode 的使用方å¼�. ä¸�过, 外部的资æº�相当丰富:  

    �供 Perl 资�的网�

    <http://www.perl.com/>
    Perl 的首页 (由欧莱礼公�维护)
    <http://www.cpan.org/>
    Perl 综�典�网 (Comprehensive Perl Archive Network)
    <http://lists.perl.org/>
    Perl 邮递论�一览
     

    学习 Perl 的网�

    <http://www.oreilly.com.cn/html/perl.html>
    简体中文版的欧莱礼 Perl 书藉
     

    Perl 使用者集会

    <http://www.pm.org/groups/asia.shtml#China>
    中国 Perl 推广组一览
     

    Unicode 相关网�

    <http://www.unicode.org/>
    Unicode 学术学会 (Unicode 标准的制定者)
    <http://www.cl.cam.ac.uk/%7Emgk25/unicode.html>
    Unix/Linux 上的 UTF-8 � Unicode 答客问
     

    SEE ALSO

    Encode, Encode::CN, encoding, perluniintro, perlunicode  

    AUTHORS

    Jarkko Hietaniemi <jhi@iki.fi>

    Autrijus Tang (�宗汉) <autrijus@autrijus.org>


     

    Index

    NAME
    DESCRIPTION
    �外的中文编�
    进一步的信�
    �供 Perl 资�的网�
    学习 Perl 的网�
    Perl 使用者集会
    Unicode 相关网�
    SEE ALSO
    AUTHORS


    ðÏÉÓË ÐÏ ÔÅËÓÔÕ MAN-Ï×: 




    XSQUARE
    Inferno Solutions
    Hosting by Hoster.ru
    èÏcÔÉÎÇ:

    úÁËÌÁÄËÉ ÎÁ ÓÁÊÔÅ
    ðÒÏÓÌÅÄÉÔØ ÚÁ ÓÔÒÁÎÉÃÅÊ
    Created 1996-2026 by Maxim Chirkov
    äÏÂÁ×ÉÔØ ÎÏ×ÏÓÔØ, ðÏÄÄÅÒÖÁÔØ