有人可能会说通过文件的后缀名就可以知道文件的类型是什么,但别忘了,后缀名是可以被修改的。同时,当我们遇到一个不带后缀名的文件的时候,难道我们就束手无策了吗?

显然不是。我们知道,在计算机的世界中,所有文件都是通过二进制中的0101来进行描述的,而计算机是如何来判断各个文件的文件类型的呢?答案就是通过魔数来进行判断。

什么是魔数?魔数就是一个文件二进制形式的前4个字节,如java的字节码文件class,它的魔数就是耳熟能详的CAFEBABE,也就是说,我们只需要通过二进制查看器查看一个文件的前4位字节,就能知道该文件的具体类型了。

如博主今天在网上保存了一张图片,结果图片是没有后缀名的,通过二进制查看器(Binary Viewer)查出该文件的魔数为89504E47,百度“魔数89504E47”可知该文件是一个png文件,于是将文件的后缀名改为.png,成功打开了图片。

所以说,有的时候我们不想一个文件被其他人打开的时候,仅仅改文件的后缀名可是不够的喔!

如何快速准确的识别出一个文件的具体类型相关推荐

  1. 用计算机查找文件地址吗,如何快速搜索电脑里的文件( 快速准确定位和查找电脑文件位置的方法...

    今天给大家带来如何快速搜索电脑里的文件(,快速准确定位和查找电脑文件位置的方法,让您轻松解决问题. 怎样快速搜索电脑里的文件 如何快速准确定位和查找电脑文件位.我们在使用电脑的时候,经常需要进行一些操 ...

  2. 如何快速简单有效地判断一个文件是否为病毒

    有一些小人,在发布的软件里插些小玩具,当灰客,这个时候就需要用户有一定的识别能力. 本篇文章主要分为两个部分,第一部分是介绍通过一些工具进行手动解析,第二部分是通过一些第三方线上工具自动解析 如果您觉 ...

  3. 怎么在一里以外识别出一个菜鸡程序员

    作者 | Scott Shipp 译者 | 核子可乐 当我还是菜鸡程序员时,我看到资深程序员们写的代码会觉得:"这也太傻了吧,毫无特点."当我工作经验渐长后,才发现自己还是太年轻, ...

  4. 找出一个文件夹下后缀名为.jpg的文件

    1 import os 2 list1=os.lisdir('E//') 3 #方法一列表推导式 4 list2=[i for i in list1 if i.endswith('.jpg')] 5 ...

  5. Java如何判断一个上传文件的内容类型

    关于如何判断一个文件的类型,在如何判断一个文件的类型_jimmyleeee的博客-CSDN博客已经介绍了,但是在实际运用于真正的文件上传时,还是有些注意事项需要注意的. 在进入主题之前,首先需要简单介 ...

  6. 自学成才的游戏建模师:制作出一个故事性3D角色!

    Hello~大家好 今天给大家带来一篇游戏角色制作的图文 本图文来自3D艺术家Hazel Webster 1 介绍 嗨!我是Hazel,我是一个游戏角色艺术家,我很喜欢这个行业! 我完全是自学成才的. ...

  7. 自学成才的游戏建模师:制作出一个故事性3D角色,值得借鉴

    Hello~大家好 今天给大家带来一篇游戏角色制作的图文 本图文来自3D艺术家Hazel Webster 1 介绍 嗨!我是Hazel,我是一个游戏角色艺术家,我很喜欢这个行业! 我完全是自学成才的. ...

  8. 自学成才的游戏建模师教你如何制作出一个故事性3D角色

    Hello~大家好 今天给大家带来一篇游戏角色制作的图文 本图文来自3D艺术家Hazel Webster 1 介绍 嗨!我是Hazel,我是一个游戏角色艺术家,我很喜欢这个行业! 我完全是自学成才的. ...

  9. nRF52840-DK通过USB接电脑,不能识别出Jlink

    正常现象:接上USB,电脑识别出一个名称为JLINK的盘,并且设备管理器-端口-Jlink CDC UART port 经过排查,发现有问题时候,电脑识别出截图这个驱动,这个不对.并且,此时电脑接键盘 ...

最新文章

  1. 磁盘管理 ——RAID1+0卷+LVM
  2. oracle导出脚本文件怎么打开,Windows下的Oracle导出脚本 -电脑资料
  3. java校验框架源码解析_Spring Boot原理剖析和源码分析
  4. org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for
  5. MATLAB凸包Convex hull运算
  6. js中使用0 “” null undefined {}需要注意
  7. java安卓6.0闪退_Android开发activity跳转闪退
  8. DataParallel work on cpu
  9. python自学行吗-python自学行吗?给编程初学者零基础入门的建议
  10. VALSE学习(十四):自主学习
  11. 常见的HTTP状态码说明
  12. 【游戏】基于 matlab GUI lanchester作战模拟设计【含Matlab源码 426期】
  13. 【台达 PLC - 1】 - 编程软件(WPL)
  14. linux 检查系统丢包,Linux系统网络丢包问题解决
  15. 软件测试方法_边界值分析法
  16. 千牛通知栏常驻是什么意思_我告诉你小米常驻通知是什么意思
  17. 【全栈开发实战小草看书之Web端(一)开发环境】
  18. excel表格,如何按编号换行
  19. 和差角证明托勒密定理
  20. 怎样下载谷歌最新版100.0.4896.127chromedriver

热门文章

  1. 除了后置三摄 新一代iPhone屏幕更大机身更薄...
  2. 嵌入式gdbserver远程调试【原创】
  3. [开源]430驱动的12864图形点阵LCD
  4. java线程通讯的方式
  5. 使用 ADB LogCat 查看在Android真机上 Unity debug.log 输出日志
  6. 易语言客户端请求http_易语言建立HTTP连接请求源码
  7. 我的docker随笔26:制作arm平台的python-pandas镜像
  8. html信号动画,HTML5带音效的雷达检测信号动画
  9. c语言类静态数据成员函数,鸡啄米:C++编程入门系列之二十一(C++程序设计必知:类的静态成员)...
  10. 95-910-332-源码-FlinkSQL-Calcite-Flink SQL 整体执行框架