1If you read this file _as_is_, just ignore the funny characters you 2see. It is written in the POD format (see perlpod manpage) which is 3specially designed to be readable as is. 4 5The following documentation is written in EUC-CN encoding. 6 7Èç¹ûÄãÓÃÒ»°ãµÄÎÄ×Ö±à¼Æ÷ÔÄÀÀÕâ·ÝÎļþ, ÇëºöÂÔÎÄÖÐÆæÌصÄ×¢¼Ç×Ö·û. 8Õâ·ÝÎļþÊÇÒÔ POD (¼òÃ÷Îļþ¸ñʽ) д³É; ÕâÖÖ¸ñʽÊÇΪÁËÄÜÈÃÈËÖ±½ÓÔĶÁ, 9¶øÌرðÉè¼ÆµÄ. ¹ØÓڴ˸ñʽµÄ½øÒ»²½ÐÅÏ¢, Çë²Î¿¼ perlpod ÏßÉÏÎļþ. 10 11=encoding euc-cn 12 13=head1 NAME 14 15perlcn - ¼òÌåÖÐÎÄ Perl Ö¸ÄÏ 16 17=head1 DESCRIPTION 18 19»¶ÓÀ´µ½ Perl µÄÌìµØ! 20 21´Ó 5.8.0 °æ¿ªÊ¼, Perl ¾ß±¸ÁËÍêÉÆµÄ Unicode (ͳһÂë) Ö§Ô®, 22Ò²Á¬´øÖ§Ô®ÁËÐí¶àÀ¶¡ÓïϵÒÔÍâµÄ±àÂ뷽ʽ; CJK (ÖÐÈÕº«) ±ãÊÇÆäÖеÄÒ»²¿·Ý. 23Unicode Êǹú¼ÊÐԵıê×¼, ÊÔͼº¸ÇÊÀ½çÉÏËùÓеÄ×Ö·û: Î÷·½ÊÀ½ç, ¶«·½ÊÀ½ç, 24ÒÔ¼°Á½Õß¼äµÄÒ»ÇÐ (Ï£À°ÎÄ, ÐðÀûÑÇÎÄ, ÑÇÀ²®ÎÄ, Ï£²®À´ÎÄ, Ó¡¶ÈÎÄ, 25Ó¡µØ°²ÎÄ, µÈµÈ). ËüÒ²ÈÝÄÉÁ˶àÖÖ×÷ҵϵͳÓëÆ½Ì¨ (Èç PC ¼°Âó½ðËþ). 26 27Perl ±¾ÉíÒÔ Unicode ½øÐвÙ×÷. Õâ±íʾ Perl ÄÚ²¿µÄ×Ö·û´®Êý¾Ý¿ÉÓà Unicode 28±íʾ; Perl µÄº¯Ê½ÓëËã·û (ÀýÈçÕý¹æ±íʾʽ±È¶Ô) Ò²ÄÜ¶Ô Unicode ½øÐвÙ×÷. 29ÔÚÊäÈë¼°Êä³öʱ, ΪÁË´¦ÀíÒÔ Unicode ֮ǰµÄ±àÂ뷽ʽ´æ·ÅµÄÊý¾Ý, Perl 30ÌṩÁË Encode Õâ¸öÄ£¿é, ¿ÉÒÔÈÃÄãÇáÒ׵ضÁÈ¡¼°Ð´Èë¾ÉÓеıàÂëÊý¾Ý. 31 32Encode ÑÓÉìÄ£¿éÖ§Ô®ÏÂÁмòÌåÖÐÎĵıàÂ뷽ʽ ('gb2312' ±íʾ 'euc-cn'): 33 34 euc-cn Unix ÑÓÉì×Ö·û¼¯, Ò²¾ÍÊÇË׳ƵĹú±êÂë 35 gb2312-raw δ¾´¦ÀíµÄ (µÍ±ÈÌØ) GB2312 ×Ö·û±í 36 gb12345 δ¾´¦ÀíµÄÖйúÓ÷±ÌåÖÐÎıàÂë 37 iso-ir-165 GB2312 + GB6345 + GB8565 + ÐÂÔö×Ö·û 38 cp936 ×ÖÂëÒ³ 936, Ò²¿ÉÒÔÓà 'GBK' (À©³ä¹ú±êÂë) Ö¸Ã÷ 39 hz 7 ±ÈÌØÒݳöʽ GB2312 ±àÂë 40 41¾ÙÀýÀ´Ëµ, ½« EUC-CN ±àÂëµÄµµ°¸×ª³É Unicode, ìóÐè¼üÈëÏÂÁÐÖ¸Áî: 42 43 perl -Mencoding=euc-cn,STDOUT,utf8 -pe1 < file.euc-cn > file.utf8 44 45Perl Ò²ÄÚ¸½ÁË "piconv", Ò»Ö§ÍêÈ«ÒÔ Perl д³ÉµÄ×Ö·ûת»»¹¤¾ß³ÌÐò, Ó÷¨ÈçÏÂ: 46 47 piconv -f euc-cn -t utf8 < file.euc-cn > file.utf8 48 piconv -f utf8 -t euc-cn < file.utf8 > file.euc-cn 49 50ÁíÍâ, ÀûÓà encoding Ä£¿é, Äã¿ÉÒÔÇáÒ×д³öÒÔ×Ö·ûΪµ¥Î»µÄ³ÌÐòÂë, ÈçÏÂËùʾ: 51 52 #!/usr/bin/env perl 53 # Æô¶¯ euc-cn ×Ö´®½âÎö; ±ê×¼Êä³öÈë¼°±ê×¼´íÎó¶¼ÉèΪ euc-cn ±àÂë 54 use encoding 'euc-cn', STDIN => 'euc-cn', STDOUT => 'euc-cn'; 55 print length("ÂæÍÕ"); # 2 (Ë«ÒýºÅ±íʾ×Ö·û) 56 print length('ÂæÍÕ'); # 4 (µ¥ÒýºÅ±íʾ×Ö½Ú) 57 print index("×»×»½Ì»å", "»×»½"); # -1 (²»°üº¬´Ë×Ó×Ö·û´®) 58 print index('×»×»½Ì»å', '»×»½'); # 1 (´ÓµÚ¶þ¸ö×Ö½Ú¿ªÊ¼) 59 60ÔÚ×îºóÒ»ÁÐÀý×ÓÀï, "×»" µÄµÚ¶þ¸ö×Ö½ÚÓë "×»" µÄµÚÒ»¸ö×Ö½Ú½áºÏ³É EUC-CN 61ÂëµÄ "»×"; "×»" µÄµÚ¶þ¸ö×Ö½ÚÔòÓë "½Ì" µÄµÚÒ»¸ö×Ö½Ú½áºÏ³É "»½". 62Õâ½â¾öÁËÒÔǰ EUC-CN Âë±È¶Ô´¦ÀíÉϳ£¼ûµÄÎÊÌâ. 63 64=head2 ¶îÍâµÄÖÐÎıàÂë 65 66Èç¹ûÐèÒª¸ü¶àµÄÖÐÎıàÂë, ¿ÉÒÔ´Ó CPAN (L<http://www.cpan.org/>) ÏÂÔØ 67Encode::HanExtra Ä£¿é. ËüĿǰÌṩÏÂÁбàÂ뷽ʽ: 68 69 gb18030 À©³ä¹ýµÄ¹ú±êÂë, °üº¬·±ÌåÖÐÎÄ 70 71ÁíÍâ, Encode::HanConvert Ä£¿éÔòÌṩÁ˼ò·±×ª»»ÓõÄÁ½ÖÖ±àÂë: 72 73 big5-simp Big5 ·±ÌåÖÐÎÄÓë Unicode ¼òÌåÖÐÎÄ»¥×ª 74 gbk-trad GBK ¼òÌåÖÐÎÄÓë Unicode ·±ÌåÖÐÎÄ»¥×ª 75 76ÈôÏëÔÚ GBK Óë Big5 Ö®¼ä»¥×ª, Çë²Î¿¼¸ÃÄ£¿éÄÚ¸½µÄ b2g.pl Óë g2b.pl Á½Ö§³ÌÐò, 77»òÔÚ³ÌÐòÄÚʹÓÃÏÂÁÐд·¨: 78 79 use Encode::HanConvert; 80 $euc_cn = big5_to_gb($big5); # ´Ó Big5 תΪ GBK 81 $big5 = gb_to_big5($euc_cn); # ´Ó GBK תΪ Big5 82 83=head2 ½øÒ»²½µÄÐÅÏ¢ 84 85Çë²Î¿¼ Perl ÄÚ¸½µÄ´óÁ¿ËµÃ÷Îļþ (²»ÐÒÈ«ÊÇÓÃÓ¢ÎÄдµÄ), À´Ñ§Ï°¸ü¶à¹ØÓÚ 86Perl µÄ֪ʶ, ÒÔ¼° Unicode µÄʹÓ÷½Ê½. ²»¹ý, ÍⲿµÄ×ÊÔ´Ï൱·á¸»: 87 88=head2 Ìṩ Perl ×ÊÔ´µÄÍøÖ· 89 90=over 4 91 92=item L<http://www.perl.com/> 93 94Perl µÄÊ×Ò³ (ÓÉÅ·À³Àñ¹«Ë¾Î¬»¤) 95 96=item L<http://www.cpan.org/> 97 98Perl ×ÛºÏµä²ØÍø (Comprehensive Perl Archive Network) 99 100=item L<http://lists.perl.org/> 101 102Perl ÓʵÝÂÛ̳һÀÀ 103 104=back 105 106=head2 ѧϰ Perl µÄÍøÖ· 107 108=over 4 109 110=item L<http://www.oreilly.com.cn/html/perl.html> 111 112¼òÌåÖÐÎİæµÄÅ·À³Àñ Perl Êé½å 113 114=back 115 116=head2 Perl ʹÓÃÕß¼¯»á 117 118=over 4 119 120=item L<http://www.pm.org/groups/asia.html> 121 122Öйú Perl ÍÆ¹ã×éÒ»ÀÀ 123 124=back 125 126=head2 Unicode Ïà¹ØÍøÖ· 127 128=over 4 129 130=item L<http://www.unicode.org/> 131 132Unicode ѧÊõѧ»á (Unicode ±ê×¼µÄÖÆ¶¨Õß) 133 134=item L<http://www.cl.cam.ac.uk/%7Emgk25/unicode.html> 135 136Unix/Linux É쵀 UTF-8 ¼° Unicode ´ð¿ÍÎÊ 137 138=back 139 140=head1 SEE ALSO 141 142L<Encode>, L<Encode::CN>, L<encoding>, L<perluniintro>, L<perlunicode> 143 144=head1 AUTHORS 145 146Jarkko Hietaniemi E<lt>jhi@iki.fiE<gt> 147 148Audrey Tang (ÌÆ·ï) E<lt>audreyt@audreyt.orgE<gt> 149 150=cut 151

