Mass Deface
file.utf8
piconv -f utf8 -t big5 < file.utf8 > file.big5
另外, 利用 encoding 模組, 你可以輕易寫出以字符為單位的程式碼, 如下所示:
#!/usr/bin/env perl
# 啟動 big5 字串解析; 標準輸出入及標準錯誤都設為 big5 編碼
use encoding 'big5', STDIN => 'big5', STDOUT => 'big5';
print length("駱駝"); # 2 (雙引號表示字符)
print length('駱駝'); # 4 (單引號表示位元組)
print index("諄諄教誨", "彖帢"); # -1 (不包含此子字串)
print index('諄諄教誨', '彖帢'); # 1 (從第二個位元組開始)
在最後一列例子裡, "諄" 的第二個位元組與 "諄" 的第一個位元組結合成 Big5
碼的 "彖"; "諄" 的第二個位元組則與 "教" 的第一個位元組結合成 "帢".
這解決了以前 Big5 碼比對處理上常見的問題.
=head2 額外的中文編碼
如果需要更多的中文編碼, 可以從 CPAN (L) 下載
Encode::HanExtra 模組. 它目前提供下列編碼方式:
cccii 1980 年文建會的中文資訊交換碼
euc-tw Unix 延伸字符集, 包含 CNS11643 平面 1-7
big5plus 中文數位化技術推廣基金會的 Big5+
big5ext 中文數位化技術推廣基金會的 Big5e
另外, 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
=head2 進一步的資訊
請參考 Perl 內附的大量說明文件 (不幸全是用英文寫的), 來學習更多關於
Perl 的知識, 以及 Unicode 的使用方式. 不過, 外部的資源相當豐富:
=head2 提供 Perl 資源的網址
=over 4
=item L
Perl 的首頁 (由歐萊禮公司維護)
=item L
Perl 綜合典藏網 (Comprehensive Perl Archive Network)
=item L
Perl 郵遞論壇一覽
=back
=head2 學習 Perl 的網址
=over 4
=item L
正體中文版的歐萊禮 Perl 書藉
=item L
臺灣 Perl 連線討論區 (也就是各大 BBS 的 Perl 連線版)
=back
=head2 Perl 使用者集會
=over 4
=item L
臺灣 Perl 推廣組一覽
=item L
Perl.tw 線上聊天室
=back
=head2 Unicode 相關網址
=over 4
=item L
Unicode 學術學會 (Unicode 標準的制定者)
=item L
Unix/Linux 上的 UTF-8 及 Unicode 答客問
=back
=head2 中文化資訊
=over 4
=item 中文化軟體聯盟
L
=item Linux 軟體中文化計劃
L
=back
=head1 SEE ALSO
L, L, L, L, L
=head1 AUTHORS
Jarkko Hietaniemi Ejhi@iki.fiE
Audrey Tang (唐鳳) Eaudreyt@audreyt.orgE
=cut