在 Lua 中打开以日语命名的文件
我有一堆用日语命名的 XML 文件。我使用 Lua 读取它们,并将必要的信息放入表格中。我可以打开仅用一种汉字命名的文件,例如 名.xml,但对于多个汉字如 名前.xml,情况则相反。在运行 Lua 文件之前,我将命令行的代码页设置为 65001(UTF-8)。为了读取这些文件,我需要使用 WinAPI 库将文件名从 ACP(ASCII 代码页?)编码为 UTF-8,但这种编码仅适用于单个汉字。我尝试了互联网上的几个建议,如使用文件的短路径等,但它们都没有成功。我尝试通过以管理员身份运行 Lua 来使用短路径--根据其他类似问题的说法,您需要管理员特权才能使用短路径--但没有运气。
...
for fn in io.popen("DIR xml /B /AA"):lines() do
...
local f = assert(io.open("xml\\" .. winapi.encode(winapi.CP_UTF8, winapi.CP_ACP, fn),"rb"))
...
end
...
但我的代码产生了“无效参数”错误。我搜索了这个错误,但它们都不是与 Lua 相关的,所以我打开了与 C/C++ 相关的那些,但我得到的只是 'use _wfopen' 或类似的东西。它在 Lua 中没有实现,我也不想自己实现它。有没有人有任何想法如何解决这个问题?如需更多信息,请务必让我知道。谢谢!
我认为您可以在表格中使用日文字母,例如
``` 本地 jaAlphbet={"一","|","丶","ノ","ä¹™","亅","<","二","äº ","人","⺅","","å„¿","å…¥","ãƒ","丷","冂","冖","冫","å‡ ","凵","刀","⺉","力","勹","匕","匚","å","åœ","å©","厂","厶","åˆ","マ","ä¹","ユ","乃","","⻌","å£","å›—","土","士","夂","夕","大","女","å","宀","寸","å°","⺌","å°¢","å°¸","å±®","å±±","å·","å·›","å·¥","å·²","å·¾","å¹²","幺","广","å»´,"廾","弋","弓","ヨ","彑","彡","å½³","⺖","⺘","⺡","⺨","⺾","â»","â»
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

我不知道为什么你的程序不能工作,但是尝试以下解决方法:
local pipe = io.popen([[for %G in (xml\*) do @(type "%G" & echo @FILENAMEMARKER#%G)]], "rb") local all_files = pipe:read"*a" pipe:close() for filecontent, filename in all_files:gmatch"(.-)@FILENAMEMARKER#(.-)\r?\n" do -- 在此处理你的文件 print('===== 这是你的文件名:') print(filename) print('== 这是你的文件内容:') print(filecontent) print('== 文件结束') end