为了玩某游戏,折腾了一天总算摸索出了一些头绪,在此简单分享下,首先是思路来源:;spm_id_from=333.337.0.0
其次如正渠道dlsite正在做活动,
众所周知大部分rpg小游戏都需要windows环境,尤其是日语windows环境
大佬提供了nw.js来加载游戏文件以实现游玩的思路
众所周知,中文windows使用gbk(gb2132)编码,而日文windows使用(shift-jis)编码
在windows下,常有大佬制作的le等转区工具,以解决乱码问题
但linux下一切都得靠自己,linux的默认编码使用utf-8
虽然大部分作者在制作游戏时,会考虑编码问题,主动作utf-8转码
但碰到未作任何处理的作品,就让人很难受了
今天碰到的一个游戏就是在文件名使用了shift-jis + ascii +未知编码的一个奇葩
所以不能借助现成工具,只能自写脚本来解决它
在说脚本方案前,先简单介绍下为什么不用convmv及iconv
这两个工具是linux下大名鼎鼎的转码工具
convmv仅转换文件名,iconv可以转换文件名的文件内容
对于文档内容乱码iconv可以很好工作
具体到压缩包的解压时,这两个工具都无法介入解压过程,因此无法使用
解压软件如p7z等,为提供在解压时,使用什么编码去识别文件名,默认系统用什么编码,它们就用什么编码解压
也就是说文件名在解压的过程中,它会被utf-8格式化,格式化过程中可能会丢失一些信息,导致再使用convmv转码时失败
所以,需要写一个脚本,强制解压时使用shift-jis进行解码,由于ascii可以看作shift-jis编码的一个子集,因此最简单的方案就是开启忽略报错,所有文件都使用shift-jis进行解码
以下是python3脚本,使用的都是python自带的包文件,复制即可使用
就先这样吧
文件名称是这个顺序读取、写入的
到此这篇Ubuntu源码(Ubuntu源码编译)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/25215.html