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

news2025/1/10 12:08:46

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盘的占用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/490285.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【学习笔记】pandas提取excel数据形成三元组,采用neo4j数据库构建小型知识图谱

前言 代码来自github项目 neo4j-python-pandas-py2neo-v3,项目作者为Skyelbin。我记录一下运行该项目的一些过程文字以及遇到的问题和解决办法。 一、提取excel中的数据转换为DataFrame三元组格式 from dataToNeo4jClass.DataToNeo4jClass import DataToNeo4j imp…

实操带你使用Mybatis_plus(2)

文章目录 一、通用ServiceService CRUD 接口a> IServiceb>创建Service接口和实现类测试 二、常用注解1、TableName2、TableId雪花算法3、TableField4、TableLogic 一、通用Service Service CRUD 接口 通用 Service CRUD 封装IService 接口,进一步封装 CRUD …

选择无服务器:Babbel 的迁移故事

Babbel 是什么? Babbel 是一个完整的语言学习产品生态系统,囊括了世界上最畅销的语言学习应用程序。我们已售出超过 1000 万份订阅和超过 60,000 门涵盖 14 种语言的课程,创造了全球第一语言学习目的地。自 2007 年推出产品的第一天起&#…

vivid源码分析

vivid源码分析 文章目录 vivid源码分析如何编写V4L2驱动分析vivid.c的open,read,write,ioctl过程openreadioctlv4l2_ctrl_handler使用过程 如何编写V4L2驱动 分配/设置/注册v4l2_device.v4l2_device_register,v4l2_device(辅助作用,提供自旋锁,引用计数…

LeetCode单链表OJ题目做题思路分享

目录 移除链表元素链表的中间节点链表中倒数第K个节点合并两个有序链表 移除链表元素 链接: link 题目描述: 思路分享: 我们上个博客分享了第一种方法,下面我们分析第二种方法:思路就是将每一个不等于我们要删除的值的节点依次尾…

【硬件】嵌入式电子设计基础之产品实践

电子技术是一门实践性非常强的学科,学习电子元器件基础知识和设计技能,最终为的是把具备一定功能的电路板制作出来,解决科研、生产、生活中的实际问题。 本篇文章从实际的电子产品出发,让您能够初步体验电子产品的硬件设计过程&am…

【Unity编辑器】拓展Project视图

目录 1、拓展右键菜单 2、创建一个菜单 3、拓展布局 4、监听事件 首先创建一个Editor文件夹,此文件夹可以作为多个目录的子文件夹存在,这样开发者就可以按照功能来划分,将不同功能的编辑代码放在不同的Editor目录下。 如果属于编辑模式下…

多维时序 | MATLAB实现BP、SVM、LSSVM多变量时间序列预测(考虑历史特征的影响,多指标、多图输出)

多维时序 | MATLAB实现BP、SVM、LSSVM多变量时间序列负荷预测(考虑历史特征的影响,多指标、多图输出) 目录 多维时序 | MATLAB实现BP、SVM、LSSVM多变量时间序列负荷预测(考虑历史特征的影响,多指标、多图输出)预测效果基本介绍程序设计学习总结参考资料…

大规模并行处理架构Doris概述篇

目录 1 Doris概述篇1.1 前言1.2 Doris简介1.3 核心特性1.4 Doris特点1.5 Doris发展历程1.6 对比其他的数据分析框架1.7 开源OLAP引擎对比1.8 使用场景1.9 使用用户 2 Doris原理篇2.1 名称解释2.2 整体架构2.3 元数据结构2.4 数据分发 1 Doris概述篇 1.1 前言 Doris由百度大数据…

BI 商业智能和报表,傻傻分不清楚?一文给你讲透

我们经常所听到的大数据、商业智能BI、数据分析、数据挖掘等我们都统称为数据信息化。数据信息化可以帮助企业全面的了解企业的经营管理,从经验驱动到数据驱动,降低情绪、心理等主观影响,形成以数据为基础的业务决策支撑,提高决策…

C++入门(内容补充)

目录 前言 1.auto关键字 1.1 auto的使用细则 1.2 auto不能推导的场景 2. 基于范围的for循环(C11) 2.1 范围for的使用条件 3.指针空值nullptr(C11) 3.1 C98中的指针空值 前言 之前给大家更新了一系列关于C的基础语法,那么今天小编再给大家进行部分内容的补充…

【C++】线程库

文章目录 线程库(thread)线程安全锁实现两个线程交替打印1-100 线程库(thread) 在C11之前,涉及到多线程问题,都是和平台相关的,比如Windows和Linux下各有自己的接口,这使得代码的可…

python函数的递归调用

引入 函数既可以嵌套定义也可以嵌套调用。嵌套定义指的是在定义一个函数时在该函数内部定义另一个函数;嵌套调用指的是在调用一个函数的过程中函数内部有调用另一个函数。而函数的递归调用指的是在调用一个函数的过程中又直接或者间接的调用该函数本身。 函数递归…

Python入门(三)变量和简单数据类型(二)

变量和简单数据类型(二) 1.数1.1 整数操作1.2 浮点数操作1.3 整数和浮点数1.4 数中的下划线1.5 同时给多个变量赋值1.6 常量 2.注释2.1 如何编写注释2.2 编写什么样的注释 作者:Xiou 1.数 数在编程中是经常使用的一种数据类型,可…

【目标检测论文阅读笔记】Dynamic Head: Unifying Object Detection Heads with Attentions

Abstract 在目标检测中结合定位和分类的复杂性导致了方法的蓬勃发展。以前的工作试图提高各种目标检测头的性能,但未能提出统一的观点。在本文中,我们提出了一种新颖的动态头部框架 来统一目标检测头部和注意力。通过在用于尺度感知的特征级别之间、用于…

嵌入式Linux:FrameBuffer 和 DRM/KMS(一)

文章目录 前言: Linux 的两种显示方案FrameBufferDRM1、GEM2、KMS 参考:RK3399 探索之旅 / Display 子系统 / 基础概念 参考:DRM架构介绍(一) 前言: Linux 的两种显示方案 包括: FBDEV: Framebuffer Device DRM/KM…

【MediaSoup c#】 worker的创建

js rust 不太熟,c# 似乎还好懂一些。学习media soup 的各个组件及大体使用方式学习其设计理念。MediasoupServer 管理worker列表 worker的表达是通过 IWorker 抽象类 拥有一个observer 实例 (EventEmitter): /// <summary>/// Observer instance./// </summary&g…

顺序表和链表优缺点以及区别

顺序表和链表的区别 顺序表优点缺点 链表优点缺点 顺序表和链表不同点 顺序表 优点 1.尾插尾删效率高 2.支持随机访问 3/相比于链&#xff0c;cpu高速缓存命中率更高 缺点 1.在头部和中部插入删除效率底 2.需要大片连续空间&#xff0c;改变容量不方便 链表 优点 1.不需要…

【嵌入式Linux驱动】驱动开发调试相关的关系记录

https://www.processon.com/mindmap/64537772b546c76a2f37bd2f

MySQL概述 -- 数据模型SQL简介DDL数据库操作

一. 数据模型 介绍完了Mysql数据库的安装配置之后&#xff0c;接下来我们再来聊一聊Mysql当中的数据模型。学完了这一小节之后&#xff0c;我们就能够知道在Mysql数据库当中到底是如何来存储和管理数据的。 在介绍 Mysql的数据模型之前&#xff0c;需要先了解一个概念&#x…