Man page - perlcn(1)
Packages contains this manual
- perlfaq2(1)
- perlvms(1)
- perlcn(1)
- perl5101delta(1)
- perl586delta(1)
- perlform(1)
- perlbook(1)
- perlpacktut(1)
- perlrequick(1)
- perlrecharclass(1)
- perlplan9(1)
- perl5303delta(1)
- perlipc(1)
- perlbot(1)
- perl5004delta(1)
- perlnumber(1)
- perltooc(1)
- perlxstypemap(1)
- perl5321delta(1)
- perlirix(1)
- perlmodlib(1)
- perlre(1)
- perlpolicy(1)
- perltoc(1)
- perlhacktips(1)
- perldebguts(1)
- perluniprops(1)
- perl5381delta(1)
- perldelta(1)
- perlcheat(1)
- perlebcdic(1)
- perl5301delta(1)
- perl5222delta(1)
- perlreapi(1)
- perlthrtut(1)
- perlandroid(1)
- perlref(1)
- perldsc(1)
- perlpodstyle(1)
- perlootut(1)
- perlfaq6(1)
- perlutil(1)
- perl5160delta(1)
- perlrun(1)
- perlsolaris(1)
- perltru64(1)
- perlcommunity(1)
- perlsynology(1)
- perl5184delta(1)
- perlhaiku(1)
- perl5120delta(1)
- perlartistic(1)
- perl585delta(1)
- perlstyle(1)
- perllocale(1)
- perl5300delta(1)
- perl5202delta(1)
- perlfaq(1)
- perlmod(1)
- perlgit(1)
- perl5140delta(1)
- perlos390(1)
- perllexwarn(1)
- perl5282delta(1)
- perl5142delta(1)
- perl5260delta(1)
- perldtrace(1)
- perldebtut(1)
- perl5243delta(1)
- perlgov(1)
- perlrebackslash(1)
- perl5220delta(1)
- perlfaq5(1)
- perlguts(1)
- perl5382delta(1)
- perl5281delta(1)
- perlfaq1(1)
- perlperf(1)
- perlmodstyle(1)
- perlbs2000(1)
- perldiag(1)
- perlmroapi(1)
- perldata(1)
- perlos400(1)
- perl5341delta(1)
- perl5181delta(1)
- perlretut(1)
- perlnewmod(1)
- perl584delta(1)
- perlsec(1)
- perlport(1)
- perlfaq8(1)
- perlunitut(1)
- perlko(1)
- perlop(1)
- perllol(1)
- perltw(1)
- perl5263delta(1)
- perlopentut(1)
- perlfaq3(1)
- perldebug(1)
- perlgpl(1)
- perlintro(1)
- perldoc(1)
- perlfreebsd(1)
- perl5340delta(1)
- perlapi(1)
- perl5221delta(1)
- perlembed(1)
- perl5362delta(1)
- perlreguts(1)
- perl5283delta(1)
- perl5400delta(1)
- perlfaq7(1)
- perl5361delta(1)
- perl5380delta(1)
- perlunifaq(1)
- perlxs(1)
- perltoot(1)
- perlsub(1)
- perlhpux(1)
- perltie(1)
- perl588delta(1)
- perl581delta(1)
- perlobj(1)
- perlapio(1)
- perlxstut(1)
- perllinux(1)
- perlhurd(1)
- perl5203delta(1)
- perl587delta(1)
- perlcygwin(1)
- perlos2(1)
- perl5320delta(1)
- perlaix(1)
- perlunicode(1)
- perl5360delta(1)
- perl5161delta(1)
- perlhack(1)
- perltrap(1)
- perl5100delta(1)
- perl5182delta(1)
- perlfunc(1)
- perlexperiment(1)
- perl5261delta(1)
- perl589delta(1)
- perlfork(1)
- perlintern(1)
- perl5123delta(1)
- perluniintro(1)
- perlsecpolicy(1)
- perl5124delta(1)
- perl5121delta(1)
- perlsource(1)
- perl5200delta(1)
- perlcall(1)
- perlmacosx(1)
- perl5262delta(1)
- perl58delta(1)
- perldbmfilter(1)
- perlrepository(1)
- perl5241delta(1)
- perlunicook(1)
- perlfaq4(1)
- perliol(1)
- perlpodspec(1)
- perlclassguts(1)
- perltodo(1)
- perl5223delta(1)
- perl56delta(1)
- perlreref(1)
- perlinterp(1)
- perlopenbsd(1)
- perlmodinstall(1)
- perl5144delta(1)
- perlclass(1)
- perlvar(1)
- perl5180delta(1)
- perlpragma(1)
- perljp(1)
- perl5242delta(1)
- perlpod(1)
- perlvos(1)
- perlriscos(1)
- perldeprecation(1)
- perl5125delta(1)
- perlhist(1)
- perl5343delta(1)
- perl561delta(1)
- perl5224delta(1)
- perlamiga(1)
- perlclib(1)
- perlsyn(1)
- perl5280delta(1)
- perlfaq9(1)
- perlwin32(1)
- perl5240delta(1)
- perl5244delta(1)
- perlglossary(1)
- perl5342delta(1)
- perl5143delta(1)
- perl5302delta(1)
- perl5201delta(1)
- perlboot(1)
- perl5162delta(1)
- perlqnx(1)
- perldocstyle(1)
- perl5401delta(1)
- perlhacktut(1)
- perl5363delta(1)
- perl5005delta(1)
- perl583delta(1)
- perl5141delta(1)
- perlreftut(1)
- perl582delta(1)
- perl5163delta(1)
- perlfilter(1)
- perl5122delta(1)
apt-get install perl-doc
Manual
PERLCN
NAMEDESCRIPTION
额 外 的 中 文 编 码
进 一 步 的 信 息
提 供 Perl 资 源 的 网 址
学 习 Perl 的 网 址
Perl 使 用 者 集 会
Unicode 相 关 网 址
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 (<https://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 资 源 的 网 址
<https://www.perl.org/>
Perl 的
首 页
<https://www.perl.com/>
由 Perl 基 金 会 运 营 的 文 章 辑 录
<https://www.cpan.org/>
Perl 综 合 典 藏 网 (Comprehensive Perl Archive Network)
<https://lists.perl.org/>
Perl 邮 递 论 坛 一 览
学 习 Perl 的 网 址
<http://www.oreilly.com.cn/index.php?func=booklist&cat=68>
简 体 中 文 版 的 欧 莱 礼 Perl 书 藉
Perl 使 用 者 集 会
<https://www.pm.org/groups/asia.html>
中 国 Perl 推 广 组 一 览
Unicode 相 关 网 址
<https://www.unicode.org/>
Unicode 学 术 学 会 (Unicode 标 准 的 制 定 者 )
<https://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>
Audrey Tang (唐 凤 ) <audreyt@audreyt.org>
Sizhe Zhao <prc.zhao@outlook.com>