Perl Unicode 羹煮书:更多资源
本系列通过示例展示了Unicode的几个特性,以及使用最新版Perl 5正确且轻松处理Unicode的几种技术。到目前为止,你对Unicode的了解可能比许多程序员都要多...
本系列通过示例展示了Unicode的几个特性,以及使用最新版Perl 5正确且轻松处理Unicode的几种技术。到目前为止,你对Unicode的了解可能比许多程序员都要多...
℞ 44:程序:Unicode 排序和打印演示 在过去几周的Unicode食谱中,解释了Unicode是如何工作的,并展示了如何在程序中使用它。如果你已经看过这些食谱,你现在对Unicode的理解...
℞ 43:DBM 哈希中的 Unicode 文本,简单方法 一些Perl库要求你必须跳过很多步骤来处理Unicode数据。如果一切都能像Perl的open祈使句一样简单就好了!对于DBM文件,这里是如何隐式...
℞ 42:DBM 哈希中的 Unicode 文本,繁琐的方法 虽然Perl 5长期以来一直非常注意在Perl自身的世界中正确处理Unicode,但每次你离开Perl内部,你都会跨越一个边界...
℞ 41:Unicode 行分隔 如果你曾经试图将大量文本放入比文本全宽还要窄的显示区域,你肯定已经处理过行分隔(或单词换行)的乐趣了。正如你...
℞ 40:不区分大小写和重音的本地比较 你现在已经知道如何在不忽略大小写和重音差异的情况下比较Unicode字符串。这种方法使用标准的Unicode排序算法。要执行类似的比较同时尊重特定区域的规则...
℞ 39:不区分大小写和重音的比较 如你所注意到的,许多Unicode字符串有多种可能的表示形式。要比较两个Unicode字符串是否相等,需要比仅仅比较它们的代码点要多得多。不仅必须考虑多种表示形式...
℞ 38:使 cmp 操作符在文本上而不是代码点上工作 即使有了Perl 5.12的“unicode_strings”功能,Perl的一些核心操作默认情况下对Unicode字符串的处理并不像预期的那样。例如,cmp操作符...
℞ 37:Unicode 本地排序 如你所见,Unicode感知排序尊重Unicode字符属性。你不能按代码点排序并期望得到准确的结果,即使你坚持使用纯ASCII。世界是一个复杂的地方...
℞ 36:不区分大小写和重音的Unicode 排序 Unicode 排序算法定义了几个排序强度级别,你可以使用这些级别指定某些字符属性对于排序顺序是相关还是不相关。简单来说,你可以使用排序...
℞ 35: Unicode排序——即使是纯ASCII——似乎很简单,至少如果你知道字母歌的话。然而,如果你仅仅按照代码点排序,即使是这么简单的事情也会变得复杂。数字会出现在字母中间。你会得到……
℞ 34: Perl的printf、sprintf和format的Unicode列宽打印认为所有代码点占用1个打印列,但许多代码点占用0个或2个。如果你使用这些内置函数之一来对齐文本,你可能会发现……
℞ 33: Grapheme中的字符串长度 如果你关于Unicode没有学到其他东西,请记住这一点:字符不是字节,不是grapheme,也不是代码点。一个用户可见的符号(grapheme)可能由多个代码点组成。多个代码点的组合……
℞ 32: 按Grapheme反转字符串 因为在Unicode中字节和字符不是同构的——而且你可能认为的用户可见的字符(grapheme)不一定是一个Unicode字符串中的单个代码点——每个字符串操作都必须意识到……
℞ 31: 通过Grapheme而不是通过Codepoint提取(substr)Unicode标准附录#29讨论了grapheme cluster之间的边界——用户可能感知为“字符”的东西。CPAN模块Unicode::GCString允许你将Unicode字符串视为一个序列……
℞ 30: 通过Grapheme而不是通过Codepoint提取(regex)请记住,Unicode将grapheme定义为“用户认为的字符”。代码点是在Unicode代码空间中的整数值。虽然ASCII将两者混为一谈,……
℞ 29: 在Regex中匹配Unicode grapheme cluster 在ASCII时代,我们谈论字符和字节。我们很少看到它们之间的差异。在Unicode世界中,字符远不止七个比特的数据。更好……
℞ 28: 转换非ASCII Unicode数字 Unicode数字涵盖了远超过ASCII字符0 - 9。除非你使用了/a或/aa,\d匹配的不仅仅是ASCII数字。这是好的!不幸的是,Perl的隐式字符串到数字转换并不……
℞ 27: Unicode标准化 处方一提醒你,总是在应用程序边界的Unicode数据处进行分解和重组。Unicode::Normalize可以为你做更多。它支持多种Unicode标准化形式。标准化当然需要Unicode数据……
℞ 26: 自定义字符属性 Match Unicode Properties in Regex解释了每个Unicode字符都有一个或多个属性,由Unicode联盟指定。你可以扩展这些规则来定义自己的属性,以便Perl可以使用……