qq消息记录导出为MHT,转换为HTML文件保存

qq消息记录导出为MHT,转换为HTML文件

​ qq聊天消息记录,在一些原因下,想将消息记录保存下来,便于随时查看,用作留恋。使用qq自带的消息管理器(老版qq)导出的消息记录格式可以保存为MHT文件格式,但是在对于一些消息量特别多的情况下,MHT文件的打开以及查看可能回存在问题,在github上寻找到了一个将mht文件转换为html的软件,使用下来感觉还不错。

github地址
https://github.com/gyakkun/qq-mht2html?tab=readme-ov-file

支持按时间戳转换,自定义分页,我懒得编译直接在Releases种下载最新版msi安装包进行使用。
消息记录要先在电脑端,如果消息记录主要在手机可以先备份迁移到电脑。

迁移消息到电脑
在这里插入图片描述
然后再进行导出。

ps:发现电脑TIM也有消息管理器,刚开始没找到还去下载了一个怀旧版qq。
使用TIM
在这里插入图片描述
然后选择要保存的好友或者群聊记录,右键选择导出消息记录,选择mht
在这里插入图片描述

使用QQ
在qq官网选择怀旧版本安装,在消息管理器中选择导出消息记录,新版的QQ9没找到。
在这里插入图片描述
在qq的左下角选择消息管理进入消息管理器,选择想要导出的聊天记录,导出消息。
在这里插入图片描述
选择MHT文件格式进行导出。群聊消息和临时消息(被删除好友)也可以导出。

转换
我下载的是msi文件,直接点击安装然后打开。
打开软件选择导出的hmt文件以及要转换后的hmt文件路径,我测试2G大小的mht文件导出转换几秒钟还是很快的。图片回保存到专门的文件夹中,这样打开html文件查看消息记录非常迅速。
在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将MHT文件转换HTML文件,可以使用以下代码: ```java import java.io.*; public class Mht2Html { public static void main(String[] args) throws Exception { String mhtFile = "path/to/mht/file.mht"; String htmlFile = "path/to/html/file.html"; String line; BufferedReader reader = new BufferedReader(new FileReader(mhtFile)); BufferedWriter writer = new BufferedWriter(new FileWriter(htmlFile)); while ((line = reader.readLine()) != null) { if (line.startsWith("Content-Type:")) { String contentType = line.substring("Content-Type:".length()).trim(); if (contentType.equalsIgnoreCase("text/html")) { writer.write("<html>\n"); writer.write("<head>\n"); writer.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n"); writer.write("</head>\n"); writer.write("<body>\n"); } } else if (line.startsWith("Content-Transfer-Encoding:")) { String encoding = line.substring("Content-Transfer-Encoding:".length()).trim(); if (encoding.equalsIgnoreCase("base64")) { reader.readLine(); // skip empty line String base64 = ""; while (!(line = reader.readLine()).equals("==")) { base64 += line; } byte[] bytes = Base64.getDecoder().decode(base64); String text = new String(bytes, "UTF-8"); writer.write(text); } } if (line.equals("") || line.equals("--")) { writer.write("</body>\n"); writer.write("</html>\n"); } } reader.close(); writer.close(); } } ``` 这个代码会解析MHT文件,将其中的HTML部分提取出来,并转换HTML文件。你需要将代码中的`path/to/mht/file.mht`和`path/to/html/file.html`替换为你自己的文件路径。需要注意的是,这个代码中使用了`java.util.Base64`类,如果你的Java版本低于8,需要使用其他的Base64库替换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值