首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RE2和UTF16 (或UCS-2)

RE2和UTF16 (或UCS-2)
EN

Stack Overflow用户
提问于 2012-02-07 06:15:35
回答 2查看 1.3K关注 0票数 4

RE2很棒。快速和确定性。

但是,它只支持UTF8。我的字符串本身就是UTF16,来回转换会降低性能。

UTF16中实现RE2本地功能有多困难?

中实现本机UCS-2功能有多困难?(这应该容易些)

也就是说,一个普通程序员需要多少个小时才能做到这一点。

这件事困扰了我几个星期,所以我想我应该问一问!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-10 02:51:38

RE2的创建者拉斯·考克斯( Russ )对UCS-2支持发布了这个补丁。但是,UCS-2不支持某些断言。Russ的答复逐字张贴:

你好。RE2在开源之前采用了UCS-2模式,但它不能支持^、$和\b等断言,这限制了它的实用价值。如果你不需要那些操作员,那么它可能会对你有用。我不打算将UCS-2模式重新添加到RE2源代码中,但我只是发布了删除它的更改的diff。您应该能够逆转本地副本中的差异,以获得UCS-2的支持。文件在Mercurial存储库的根目录中是ucs2.diff。

好好享受吧。

链接到代码:http://code.google.com/p/re2/source/list

票数 5
EN

Stack Overflow用户

发布于 2012-02-09 11:25:44

你问过拉斯·考克斯他对你问题的答案有什么看法吗?我敢打赌这是太长的时间来考虑。

我真的认为你高估了从丑陋的UTF-16转换成普通的UTF-8的成本,低估了对一个高度调优的库进行重新编码的成本。

就像我们其他人一样咬紧牙关使用UTF-8。

我自己也是RE2的忠实粉丝,但我从未想过要在UTF-16上使用它。不是我的世界的一部分。就像任何其他遗留编码一样,我们在UTF-16中获得的任何内容都会立即升级到UTF-8,以便整个工具链可以使用它,因为我们运行的是纯-UTF 8工具链。

也许你住在另一个世界?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9171812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档