2

鉴于存在不同的语言环境,我试图了解如何在 UNIX 中准确地操作字符和字符集——并且这样做不需要 UNIX 标准项之外的特殊工具。

我的研究向我展示了德国的Sharp-s字符的问题:一个字符变成了两个 - 以及其他问题。使用 tr 显然是一个非常糟糕的主意。我看到的唯一选择是:

echo StUfF | perl -n -e "print lc($_);"

但我不确定这会奏效,它需要 Perl - 不一定是一个糟糕的要求,而是一个非常大的锤子......

awk 和 grep 和 sed 和...怎么样?这或多或少是我的问题:我如何确保文本在每个语言环境中都是小写的?

4

2 回答 2

2

Perl lc/uc 适用于大多数语言,但不能正确使用土耳其语,有关详细信息,请参阅我的这个错误报告。但是如果你不需要担心土耳其语,Perl 是不错的选择。

于 2009-06-04T19:37:13.917 回答
0

您不能确定每个语言环境中的文本都是正确的。那是不可能的,关于i18n相关人员的实施,软件库中总是存在一些错误。

如果你不害怕使用 C++ 或 Java,你可以看看ICU,它实现了广泛的整理、规范化等规则。

于 2010-09-12T18:53:55.037 回答