Lua 汉字转拼音

2018-05-16

   最近想给博客增加一个功能,把url转换成字符串,一来好辨认,可以形成良好的固定链接URL,二来可减少暴露系统设计的关键信息。一些项目会让数据库内每一个表格都从全局的UUID生成器中领取ID,因为是随机生成的,table中相邻的一条记录也不会被通过ID猜到,也就减少了某些错误设计可能导致信息泄露的可能。UUID是很好的,但是,UUID作为url的问题是不够直观。想想wiki的url,如果从en.wikipedia.org/wiki/Adreno 变为了en.wikipedia.org/wiki/2341234123234,是不是就不好了,而且,中文wiki的url,例如“http://zh.wikipedia.org/wiki/统一资源定位符” 复制出来是https://zh.wikipedia.org/zh-hans/%E7%BB%9F%E4%B8%80%E8%B5%84%E6%BA%90%E5%AE%9A%E4%BD%8D%E7%AC%A6,这也是比较糟糕的。所以,url中汉字转为拼音是相当由必要的。
   Lua中luarocks仓库中没有汉字转拼音的lib,可查询到的 cyrilis/lua-pinyin也不能正常工作,在这个库的基础上,我花了两个小时自己弄了一份可工作的版本。因为一个汉字可能对应多个拼音,一个拼音可能对应多个汉字,想要准确的给一个汉字字符串标注拼音,是很难做到的。例如多音词“朝阳”,是Cháo yáng,还是Zhāo yáng呢?一个小小的lib,也不可能用上机器学习来做上下文语境判断对吧。所以,简单点来。强制让汉字只对应一个拼音,放弃多音词。实现的原理也非常的简单,获取汉字字符的utf8编码,如汉字“实”的utf8编码为“&#x5B9E”,取5B9E,对应“shí”,之后再选择是否把是否把声调的字符 í 替换为ASCII小写字母,或者全部换为大写字母。所以,我们需要一个表格,把常见的几万字的汉字一一对应到一个拼音上。幸好这个工作已经有前人做好了,我在hotoo/pinyin 这里lib中找到了。需要把js数组转换为Lua table。

 

 

如果有任何意见,欢迎留言讨论。 


[ 主页 ]
COMMENTS
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
luaclua工具是用于将Lua源代码从编译过的二进制格式(.luac文件)换为可读的文本格式(.lua文件)的工具。通常,在编写Lua代码时,我们使用文本编辑器来编写和修改代码。但有时,为了加密和保护代码的安全性,我们需要将代码编译为.luac文件,这样代码将以二进制形式存储,并且只能被luavm解释执行。然而,这种编译的代码不易于阅读和修改。 使用luaclua工具,我们可以将.luac文件换为易读的.lua文件。这对于理解、修改和维护代码非常有用。此工具解析.luac文件,并将其反编译为文本形式,使开发人员能够查看代码的实际内容和结构。一旦换完成,我们就可以使用任何文本编辑器来修改代码,并将其保存为.lua文件。 通常,使用此工具的主要步骤如下: 1. 下载并安装luaclua工具到你的计算机上。 2. 打开工具,选择要换的.luac文件。 3. 设置目标文件名和保存位置。 4. 点击换按钮,等待工具完成换过程。 5. 一旦换完成,你就可以使用任何文本编辑器打开保存的.lua文件并进行修改。 需要注意的是,由于.luac文件是编译的二进制文件,换后的.lua文件可能不会与原始的.lua文件完全相同。某些元信息,如行号和注释,可能会丢失。此外,由于代码的解释执行也可能有所不同,因此在修改代码之前,你应该先进行适当的测试和验证。 总而言之,luaclua工具是帮助开发人员将编译的.luac文件换为可读的.lua源代码文件的实用工具,以方便代码的理解、修改和维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值