相关疑难解决方法(0)

为什么现代Perl默认会避免使用UTF-8?

我想知道为什么使用Perl构建的大多数现代解决方案默认情况下不启用UTF-8.

我知道核心Perl脚本存在许多遗留问题,可能会破坏它们.但是,从我的角度来看,在21 的世纪,新的大项目(或具有大的方面讲项目)应该从头开始他们的软件UTF-8的证明.我仍然没有看到它发生.例如,Moose启用严格和警告,但不启用Unicode.Modern :: Perl也减少了样板,但没有UTF-8处理.

为什么?是否有一些理由在2011年的现代Perl项目中避免使用UTF-8?


评论@tchrist太长了,所以我在这里添加它.

似乎我没有说清楚.让我尝试添加一些东西.

tchrist和我看到情况非常相似,但我们的结论完全是相反的.我同意,Unicode的情况很复杂,但这就是为什么我们(Perl用户和编码人员)需要一些层(或编译指示),这使得UTF-8处理变得像现在一样容易.

tchrist指出要涵盖的许多方面,我会阅读并思考它们几天甚至几周.不过,这不是我的观点.tchrist试图证明没有一种方法"启用UTF-8".我没有太多的知识可以与之争辩.所以,我坚持住实例.

我和Rakudo一起玩,UTF-8就在我需要的地方.我没有任何问题,它只是奏效了.也许在某些地方存在一些限制,但一开始,我测试的所有工作都按照我的预期进行.

这不应该是现代Perl 5的目标吗?我更强调一点:我不是建议将UTF-8作为核心Perl的默认字符集,我建议可以为那些开发项目的人快速触发它.

另一个例子,但更负面的语气.框架应该使开发更容易.几年前,我尝试过Web框架,但只是把它们扔掉了,因为"启用UTF-8"是如此模糊.我没有找到如何以及在何处挂钩Unicode支持.这是非常耗时的,我发现它更容易走老路.现在我看到这里有一个赏金来处理与梅森 2 相同的问题:如何让Mason2 UTF-8干净?.因此,它是一个非常新的框架,但使用UTF-8需要深入了解其内部.这就像一个大红色标志:停止,不要使用我!

我真的很喜欢Perl.但处理Unicode是痛苦的.我仍然发现自己在墙上奔跑.某种方式tchrist是正确的,并回答我的问题:新项目不吸引UTF-8,因为它在Perl 5中太复杂了.

unicode perl utf-8

555
推荐指数
6
解决办法
10万
查看次数

python-re:我如何匹配alpha字符

如何将alpha字符与正则表达式匹配.我想要一个在\w但不在的角色\d.我希望它与unicode兼容,这就是我无法使用的原因[a-zA-Z].

python regex unicode regex-negation

30
推荐指数
1
解决办法
3万
查看次数

Perl兼容Python中的正则表达式(PCRE)

我必须在Python中解析基于PCRE的一些字符串,我不知道该怎么做.

我要解析的字符串看起来像:

match mysql m/^.\0\0\0\n(4\.[-.\w]+)\0...\0/s p/MySQL/ i/$1/
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我必须得到这个不同的项目:

"m/^.\0\0\0\n(4\.[-.\w]+)\0...\0/s" ; "p/MySQL/" ; "i/$1/"
Run Code Online (Sandbox Code Playgroud)

我发现在Python中唯一与PCRE操作相关的是这个模块:http://pydoc.org/2.2.3/pcre.html(但它写的是.so文件......)

你知道是否存在一些Python模块来解析这种字符串吗?

python regex parsing pcre

26
推荐指数
1
解决办法
1万
查看次数

正则表达式只匹配语言字符(所有语言)?

我需要将用户输入仅限制为字母数字字符.

如果它只是英文,那将很容易 $[a-z]^/i

但我需要全球化,例如每种语言.

是否有任何顺序unicode范围包括所有"字符"?

如果没有,我该怎么办?

ps我看到了这个答案,但答案是pythoin

javascript regex unicode

6
推荐指数
2
解决办法
4353
查看次数

标签 统计

regex ×3

unicode ×3

python ×2

javascript ×1

parsing ×1

pcre ×1

perl ×1

regex-negation ×1

utf-8 ×1