Lua 5.2 - utf8降低功能 - 是否有纯粹的lua实现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lua 5.2 - utf8降低功能 - 是否有纯粹的lua实现?相关的知识,希望对你有一定的参考价值。

在纯Lua中,我找不到string.lower对utf8字符的任何好的实现。它是一个C ++库,我无法使用,因为我无法访问项目中的C部分,或者所谓的'实现',其中utf8.lower默认为string.lower。显然它不起作用。

有解决方案吗?也许有人可以暗示如何实现这个东西?

答案

在Unicode中执行大小写转换(无论编码如何)都不是一个简单的练习。实现Unicode大小写转换需要访问Unicode字符属性表,并且算法本身不仅仅是“如果字符是大写的,则替换为小写版本”,因为许多语言没有针对所有字符的1:1大小写转换映射。

这并不是说它无法完成。但是,大多数需要严格的Unicode工作的人默认使用ICU或其他库而不是编写自己的编码是有原因的。

以上是关于Lua 5.2 - utf8降低功能 - 是否有纯粹的lua实现?的主要内容,如果未能解决你的问题,请参考以下文章

移植cinvoke-take到Lua 5.2

luaL_openlib 替代 Lua 5.2

IE8 的 calc() 是不是有纯 CSS 后备

如何在lua中将UTF8字节数组转换为字符串

UTF8字符串在lua的截取和字数统计转载

lua脚本中怎么对比字符串