PERLCN 7
PERLCN
NAMEDESCRIPTION
SEE ALSO
AUTHORS
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>
è·
æ¬é¡µé¢ä¸æçç±ä¸æ
man
æå页计åæä¾ã
䏿 man
æå页计åï¼https://github.com/man-pages-zh/manpages-zh