Lua二进制和十六进制的相互转换以及文件保存传递

这篇博客介绍了如何在Lua中进行二进制和十六进制之间的转换,以及如何将数据以十六进制字符串的形式保存和读取,以保护文件内容不被直接查看。示例中提到了将图片转换为十六进制字符串来隐藏原始内容,当需要时再还原成图片,提供了一种趣味性的文件保护方法。
摘要由CSDN通过智能技术生成

有时候我们有需要保存某个文件或者传输某个文件的需求,当然通过二进制流传输也是同样的道理,但是不利于传递保存。例如,我有张裸照不想被人直接看见,所以我不能直接保存图片,保存二进制码吧太长,所以呢,我可以把他保存成16进制的字符串,一般人根本没法,当我女朋友想看的时候怎么办呢,我可以吧这张照片从16进制重新转换成图片给她看,或者给她自己解,不过估计要分手,笑哭。好吧,直接上代码:


function fileTohexString()

	local fileDir="C:\\Users\\Administrator\\Desktop\\"
	local fileName="headImage.jpg"
	local allhexstr=""
	local hexstr
	local charcode

	local bytesFile=io.open(fileDir..fileName,"rb")

	if nil==bytesFile then

		print('Can not open file')
	else

		local bytes = bytesFile:read("*a")

		for i = 1, string.len(bytes) do

			local charcode = tonumber(string.byte(bytes, i, i));
			local hexstr = string.format("%02X", charcode);

			allhexstr=allhexstr..hexstr
			--hexstrfile:write(hexstr);
		end

		--print(all
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值