13.07.2015 Views

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

utf8 用 法 主 要 是 一 个 兼 容 性 设 备 , 它 打 开 分 析 器 对 UTF-8 文 本 和 标 识 的 识 别 。 它 还 可 以用 于 打 开 一 些 更 是 处 于 实 验 阶 段 的 Unicode 支 持 特 性 。 我 们 的 远 期 目 标 是 把 utf8 用 法 变成 透 明 层 (no-op)。use bytes 用 法 可 能 永 远 不 会 成 为 透 明 层 。 它 不 仅 对 面 向 字 节 的 编 码 是 必 要 的 , 而 且 在 一个 函 数 上 定 义 面 向 字 节 的 封 装 在 use bytes 范 围 外 面 使 用 还 会 有 副 作 用 。 在 我 们 写 这 些 的时 候 , 唯 一 定 义 了 的 封 装 是 length, 不 过 随 着 时 间 的 推 移 , 会 有 更 多 封 装 出 现 的 。 要 使 用这 样 的 封 装 , 你 可 以 说 :use bytes(); # 不 加 输 入 byte 语 意 地 装 载 封 装 器 ... $charlen =length("\x{ffff_ffff}"); # 返 回 1 $bytelen = byte::length("\x{ffff_ffff}"); # 返回 7在 use bytes 声 明 外 边 ,<strong>Perl</strong> 版 本 5.6 的 运 行 特 性 ( 或 者 至 少 其 期 望 的 运 行 特 性 ) 是 这样 的 :• 字 串 和 模 式 现 在 可 以 包 含 值 大 于 255 的 字 符 ;use utf8;$convergence = " ";假 设 你 有 一 个 可 以 编 辑 Unicode 的 编 辑 器 编 辑 你 的 程 序 , 这 样 的 字 符 通 常 会 在 文 本 字 串中 直 接 以 UTF-8 字 符 的 方 式 出 现 。 从 现 在 开 始 , 你 必 须 在 你 的 程 序 开 头 开 头 声 明 一 个use utf8 以 便 允 许 文 本 中 使 用 UTF-8。如 果 你 没 有 Unicode 编 辑 器 , 那 么 你 还 是 可 以 用 \x 表 示 法 声 明 特 定 的 ASCII 码 扩 展 。Latin-1 范 围 的 字 符 可 以 以 \x{ab} 的 形 式 或 者 \xab 的 形 式 写 , 但 是 如 果 数 字 超 过 两位 十 六 进 制 数 字 , 那 你 就 必 须 使 用 花 括 号 。 你 可 以 用 \x 后 面 跟 着 花 括 号 括 起 来 的 十 六 进制 编 码 来 表 示 Unicode。 比 如 一 个 Unicode 笑 脸 符 号 是 \x{263A}。 在 <strong>Perl</strong> 里 没 有 什么 语 法 构 造 假 设 Unicode 字 符 正 好 就 是 16 位 , 所 以 你 不 能 用 其 他 语 言 那 样 的 \u263A来 表 示 ;\x{263A} 是 最 相 近 的 等 价 物 。• 在 <strong>Perl</strong> 脚 本 里 的 标 识 符 可 以 包 含 Unicode 字 母 数 字 字 符 , 包 括 象 形 文 字 :use utf8;$ 人 ++ # 又 生 了 一 个 孩 子同 样 , 你 需 要 use utf8 ( 至 少 目 前 ) 才 能 识 别 你 的 脚 本 中 的 UTF-8。 目 前 , 如 果 需 要使 用 规 范 化 的 字 符 形 式 , 你 得 自 己 决 定 ——<strong>Perl</strong> ( 还 ) 不 会 试 图 帮 助 你 规 范 化 变 量 名 。 我404

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!