ahm*_*med 1 unicode lua coronasdk
我知道 Lua 不完全支持 unicode 但是应该有一种解决方法来解决这个问题?string.reverse 不适用于 unicode,因此以下示例将不起作用
print(string.reverse("????"))
Run Code Online (Sandbox Code Playgroud)
有什么帮助吗?
Corona SDK 似乎使用 UTF-8 作为编码。
如果要反转字符串中的所有 Unicode代码点,而不是所有字节,可以使用该代码:
function utf8reverse(str)
return str:gsub("([\194-\244][\128-\191]+)", string.reverse):reverse()
end
print(utf8reverse("????"))
Run Code Online (Sandbox Code Playgroud)
技巧如下:多字节 Unicode 代码点总是以字节11xx xxxx开头,后跟一个或几个字节10xx xxxx。第一步是反转每个多字节代码点上的所有字节,然后反转所有字节。
注意:当一个 Unicode 字符由多个代码点组成时,这个简单的技巧将不起作用。完整的支持需要一个大的 Unicode 数据库来处理。
| 归档时间: |
|
| 查看次数: |
839 次 |
| 最近记录: |