1 问题现象

我的Windows版微信最近老是提示“磁盘空间不足200MB,需及时清理磁盘”。

使用文件资源管理器查看我的电脑磁盘使用情况,发现C盘只剩下174MB空间可用。系统盘C盘空间耗尽已经严重影响电脑的使用。

2 问题分析

2.1 磁盘空间占用情况分析

由于是微信提示磁盘空间不足,因此分析与微信相关文件夹占用磁盘空间的情况。检查微信软件的安装路径C:\Program Files (x86)\Tencent\WeChat,仅使用了473MB的磁盘空间,是正常的磁盘空间占用。

Windows版微信在用户文档文件夹“C:\Users\YourUserName\Documents\”下创建了“WeChat Files”文件夹,这个文件夹用于存储微信软件运行过程中产生的数据。我的电脑有三个微信账号曾经登录,因此“C:\Users\YourUserName\Documents\WeChat Files”文件夹下有三个“wxid_”开头的子文件夹,这三个子文件夹分别存储已登录微信账号的数据(聊天记录、图片、视频以及接收的其他文件)。

其中“wxid_i…1”这个子文件夹占用了惊人的52.3GB磁盘空间,其余两个微信账号仅占用462MB磁盘空间。确定是经常登录使用的微信账号“wxid_i…1”占用了过多的磁盘空间。

进一步分析“C:\Users\YourUserName\Documents\WeChat Files\wxid_i…1”文件夹内部的磁盘空间占用情况,“C:\Users\YourUserName\Documents\WeChat Files\wxid_i…1\FileStorage”用于存储聊天记录、图片、视频以及接收的其他文件,占用了50.7GB磁盘空间。

图片文件存储在“C:\Users\YourUserName\Documents\WeChat Files\wxid_i…1\FileStorage\Image”,占用35GB磁盘空间;视频文件存储在“C:\Users\YourUserName\Documents\WeChat Files\wxid_i…1\FileStorage\Video”,占用247MB磁盘空间;

2.2 微信视频文件分析

进入 “C:\Users\YourUserName\Documents\WeChat Files\wxid_i…1\FileStorage\Video” 视频文件存储文件夹,发现不同月份的视频文件存储在“YYYY-MM”这样的子文件夹下。

进入2022年8月的视频文件夹,在“查看”菜单下选择“大图标”或者“超大图标”可以看到视频缩略图,通过缩略图就知道视频内容是否值得保存、是否可以直接删除。

2.3 微信图片文件分析

2.3.1 图片文件的文件类型

进入 “C:\Users\YourUserName\Documents\WeChat Files\wxid_i…1\FileStorage\Image” 图片文件存储文件夹,同样是YYYY-MM这样的文件夹存储不同月份的图片的。

进入2022年6月的图片文件夹,在“查看”菜单下选择“大图标”不能看到图片的缩略图,无法直接删除图片文件夹下的图片文件,图片文件夹下并不是直接存储的JPG或者PNG或者其他类型的图片格式文件,而是存储的.dat这样的数据文件,需要对.dat数据文件进行分析。

2.3.2 .dat图片数据文件编码

        提示:此小节需要编程基础知识才能理解。

.dat文件是微信软件将图片格式文件进行特殊编码后的数据文件。使用UltraEdit以十六进制方式打开00d50a9ae0ad96ccfb91e202621bcf8e.dat文件、.jpg文件、.png文件,.dat文件以“0x0D2A”开头(不同的微信用户,.dat文件开头的两个字节是不同的,开头两个字节不同的原因是微信软件使用了不同的编码参数对图片文件进行异或编码运算),.jpg文件以“0xFFD8”开头,.png文件以“0x8950”开头。

使用计算器以程序员模式进行运算分析,分别用.jpg和.png开头的四个十六进制数“0xFFD8”、“0x8950”与或.dat文件开头的四个十六进制数“0x0D2A”,得到结果“0xF2F2”、“0x847A”。

说明00d50a9ae0ad96ccfb91e202621bcf8e.dat编码前的文件是.jpg文件,而且微信软件使用的是“0xF2”这个十六进制数对.jpg文件做的编码。

3 清理方法

微信聊天中有大量保存价值不大的图片、视频文件。根据前面的问题分析可以知道微信软件保存的图片、视频文件占用了大量的磁盘空间,并且在微信中删除聊天并不会删除聊天相关图片和视频,需要通过资源管理器直接删除无保存价值的图片、视频文件才能释放磁盘空间。

3.1 微信视频文件的清理

进入某一月份的视频文件夹“C:\Users\YourUserName\Documents\WeChat Files\wxid_i…1\FileStorage\Video\YYYY-MM”,根据缩略图直接删除无保存价值的视频文件。

3.2 微信图片文件的解码和清理

        提示:图片文件的清理需要有Python编程能力。

根据“2.3.2.dat图片数据文件编码”的分析,需要使用十六进制数“0xF2”对.dat图片数据文件逐字节做异或运算,即可解码生成原始的.jpg图片文件。

用Python编程语言实现批量解码图片数据文件.dat文件并输出解码后的图片文件到指定文件夹的功能,在图片输出文件夹中根据缩略图可以方便的删除没有保存价值的图片,最后删除微信图片文件夹下面的.dat文件就可以释放磁盘空间。

解码微信聊天图片数据文件.dat文件的Python源代码的下载链接是解码微信聊天图片数据文件.dat文件的Python代码-管理软件文档类资源-CSDN下载,代码做了逐行注释,适合Python编程语言初学者学习代码。

代码中的两个变量wechat_image_absolute_path、output_path分别表示微信图片文件存储的绝对路径、解码后文件的输出路径,需要根据自己电脑的实际情况修改这两个变量。

3.3 文件管理策略的配置

Windows版微信提供了文件管理策略配置功能。点击微信窗口左下角的“三横”图标,然后点击“设置”进入设置窗口。

点击设置窗口左侧的“文件管理”菜单进入文件管理界面。

关闭“文件自动下载功能”,可以避免自动下载文件导致的磁盘空间占用;修改“微信文件的默认保存位置”,可以将微信接收的各类文件保存到其他空间足够的磁盘中,避免对系统盘C盘的占用。

Windows微信聊天图片文件的解码和图片、视频占满电脑磁盘空间的清理相关推荐

  1. Jrtplib发送视频文件 + FFMPEG解码+VFW播放视频 (回调方式)

    在上篇文章<Jrtplib收发H264文件 + FFMPEG解码+VFW播放视频> 里,我们采用的模式是发送端读取本地H264文件, 把完整的Naul(包含起始码) 逐个发送给接收端,接收 ...

  2. Word在试图打开文件时遇到错误。 请尝试下列方法: 检查文档或驱动器的文件权限。 确保有足够的内存和磁盘空间。 用文本恢复转换器打开文件。

    重新装office之后打开系统的文件提示: Word在试图打开文件时遇到错误. 请尝试下列方法: 检查文档或驱动器的文件权限. 确保有足够的内存和磁盘空间. 用文本恢复转换器打开文件. 1.文件安全性 ...

  3. “Word在试图打开文件时遇到错误。请尝试下列方法:* 检查文档或驱动器的文件权限。* 确保有足够的内存和磁盘空间。* 用文件恢复转换器打开文件。”问题!...

    Word在试图打开文件时遇到错误. 请尝试下列方法: * 检查文档或驱动器的文件权限. * 确保有足够的内存和磁盘空间. * 用文件恢复转换器打开文件. 如下图: 让同事在他们自己电脑上,都是可以打开 ...

  4. 微信电脑版DAT图片文件转JPG/PNG图片的简单工具

    平常微信聊天中发出和接收到的图片,都是经过编码后再保存在电脑中的,普通方法打不开 如果需要整理,则是个问题 本文详细说明如何快速地把平常微信聊天中存储在电脑中的聊天图片转换成普通图片 支持JPG和PN ...

  5. 红色警戒!Windows微信蓝屏文件刨析!

    样本 核心代码为:file:///globalroot/device/condrv/kernelconnect 受灾画面: 分析: .url文件 url格式的文件是一种网页文件,只要接触就会触发访问 ...

  6. iOS微信聊天界面朋友圈多个小视频同时播放不卡顿

    我的简书地址http://www.jianshu.com/p/10206ed63e0d 之前有个需求是实现如微信朋友圈动态列表小视频播放的效果,最近有空整理下给同样有需要的同学. 我们都知道微信朋友圈 ...

  7. java图片文件字符串jsp_将图片转成base64字符串并在JSP页面显示的Java代码

    *本事例主要讲了如下几点: * 1:将图片转换为BASE64加密字符串. * 2:将图片流转换为BASE64加密字符串. * 3:将BASE64加密字符串转换为图片. * 4:在jsp文件中以引用的方 ...

  8. fastreport打印指定路径图片显示不出来_报表工具中图片文件怎么展示---本地图片--网络图片--数据库图片...

    用于报表展示的图片来源有多种,如:数据库的图片字段.服务器本地图片.网络图片等,因此,报表工具也针对多种图片来源提供了多种多样的处理方式. 下面从不同的图片来源角度,举例介绍报表工具如何设置呈现. 图 ...

  9. office打开服务器文件提示内存不足,打开Excel2016提示内存或磁盘空间不足的解决方法...

    摘要 在Excel2016或者2013中打开新建的空白文档提示:内存或磁盘空间不足,Microsoft Excel无法再次打开或保存任何文档. 问题描述 在Excel2016或者2013中打开新建的空 ...

最新文章

  1. 【FFmpeg】如何通过字符串到对应的封装器,以flv为例
  2. Java Web使用数据库连接池
  3. R与量化(part1)--量化概述
  4. Sending HTML content in an email using PHP
  5. idea 使用 maven 整合 ssm 框架 实现简单的增、删、改 和 分页查询功能
  6. 选择题:JAVA的类和对象
  7. Spring IOC学习心得之源码级分析ContextLoaderListener的作用(IOC容器初始化入口)
  8. Java学习之——泛型
  9. Solaris11修改主机名
  10. Sql Server2005 Transact-SQL
  11. JAVA-反射面试题及答案
  12. iperf3 linux源码下载
  13. Python游戏开发平台、脚本系统架构设计
  14. vant修改用户头像
  15. 路由器 mac 和 bssid是一个吗
  16. 关于bss段的一些思考
  17. position与清除浮动
  18. css3动画2D|3D
  19. 论坛议程|COSCon'22 大数据(D)
  20. 2019下半年教资信息技术学科知识与教育能力——主观题

热门文章

  1. 载歌在谷线上春晚「主播节目单」终极曝光!
  2. 编写DLL格式的wireshark插件
  3. tensorflow2.0 循环神经网络--情感分类实战
  4. C++ 百万并发网络通信引擎架构与实现视频课程
  5. Java判断一个正整数是否为质数(素数)。
  6. 【数学建模】9 微分方程模型建模方法及实例
  7. 华为无线猫EchoLife HG522路由配置
  8. 常用网站木马文件后门检测工具
  9. 编排流程/规则,编排本身也需要很深的逻辑思考
  10. Django 序列化和反序列化(九)