有时候我们有需要保存某个文件或者传输某个文件的需求,当然通过二进制流传输也是同样的道理,但是不利于传递保存。例如,我有张裸照不想被人直接看见,所以我不能直接保存图片,保存二进制码吧太长,所以呢,我可以把他保存成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