代码先锋网 代码片段及技术文章聚合

Python开发之解决使用unluac反编译lua文件中文乱码问题

技术标签: lua

先贴上效果图:
unluac反编译后的中文乱码文件:
这里写图片描述

中文乱码修正后的文件:
这里写图片描述

Python编码修正源码:

# coding=UTF-8
#
#一键处理lua反编译后的中文乱码问题
#输入:反编译后的Lua文件路径
#输出:编码修正后的lua文件
#
import urllib
import re


def main():
    luaFilePath='C:/123'
    luaFile = open(luaFilePath+".lua", 'r')
    luaData=luaFile.read()
    luaFile.close()
    luaData = re.sub(r'\\(?=\d{1,3})', "%", luaData)
    print luaData
    luaData = re.sub(r'(?<=\%)\d{1,3}', d2h, luaData)
    print luaData
    luaData = urllib.unquote(luaData)
    outFile=open(luaFilePath+"_new.lua",'w')
    outFile.write(''+luaData)
    outFile.close()
    print('编码已修正,输出路径:'+luaFilePath+"_new.lua")

# 将匹配的数字转为16进制
def d2h(matched):
    value = hex(int(matched.group()))
    value = re.sub(r'0x', "", value)
    return value


# 开始执行入口函数
main()

【注】你的lua文件必须是utf-8编码,否则输出的依然是乱码
不得不说,python的确很简洁!

版权声明:本文为qq_26914291原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_26914291/article/details/80456572

智能推荐

python使用zipfile解压文件中文乱码问题

中文在编程中真实后娘养的,各种坑爹,python3下中文乱码这个问题抓破了头皮,头疼。看了alex的文章,才有种恍然大悟的感觉(链接在底部)。 一句话,就是转换成unicode,压缩前是什么编码,使用什么编码encode再decode回来 先看测试代码: 真实文件名 废话不多说了,直接上最后成功代码,使用cp437可以正确读取部分,但是还有一部分却打印出来\u的编码, 因为看了alex的文章,又在...

windows下使用MinGw编译出现中文乱码问题解决 (已解决)

参考链接: https://blog.csdn.net/Timekeeperl/article/details/68266218 运行中文乱码啊有没有一样的! 百度一下解决办法!最后发现这个亲测有用的方法 乱码原因 windows cmd使用的字符集为GBK,CPP文件字符集为UTF-8 解决办法 通过给g++编译器加两个参数即可 试试看下面的运行一下 我是 hello 改成自己的就OK...

Python编译中文乱码

Python编译器编译.py文件出现中文乱码 编译乱码提示: 在文件最开头添加: utf-8不能解决问题时: 将文件最开头修改为:...

Java文件下载之解决中文乱码

文件上传和下载是web开发中常遇到的问题,而如果下载的文件带有中文时一般都会出现乱码现象,但是对这个问题,不同的浏浏览器所能识别的编码也不一样,而下面这段代码提供了一个通用的解决方案。...

猜你喜欢

解决文件下载中文乱码问题

首先是页面的js文件 把含有中文的连接地址做次转码   后台程序  ...

文件下载--解决中文乱码问题

servlet实现文件下载 1、编写一个工具类 2、代码实现...

nodejs解决文件读取中文乱码问题

乱码是因为文件读取是pdk编码格式,需要用utf-8来解码...

Servlet上传文件解决中文乱码问题

问题:从Java程序中可以看出,已经设置编码字符集为UTF-8,但文件名若包含中文,依旧会出现中文乱码,若下图所示 解决方案:必须加上如下代码 servletFileUpload.setHeaderEncoding(“UTF-8”);如下图所示...