百科问答小站 logo
百科问答小站 font logo



程序(软件)打开文件的工作原理? 第1页

  

user avatar   exiledkingcc 网友的相关建议: 
      

各种文件格式的区别在于存储的结构。用某个程序(比如word)打开某个格式的文件(比如a.docx),实际上是word以二进制读入文件的内容,然后按照存储的结构解析,显示。

题主可是网上查一下各种文件格式(比如BMP,这个比较简单)的存储结构了解一下。

至于只能通过特定的程序打开某一格式的文件,这个很难。因为即便你定义了一个没人知道的而且十分复杂的格式,别人也可以进行分析从而了解。不过有难有易。这倒有点类似反编译。

另外一个思路是加密。

不过这并没有什么卵用,实际中反而是使用已经存在了的格式。比如Java的jar包与Android的apk包实际上都是zip压缩格式。


user avatar   set2get 网友的相关建议: 
      

所谓的文件格式应该叫文件储存格式,官方都有详细定义文档的,或者说有自己提供的操作DLL链接库,前者是公开操作,后者是在限定范围内提供指定功能操作。

最浅白的理解不涉及太复杂的tab结构,就是说,你可以定义你的文件格式 1k为一个储存数据tab,然后读入文件时,就是以1k为单位,每次读入解析数据

当然实际情况更复杂,tag与tag之间可能并不固定大小,仅是根据tab头和tab长度去依次读取

本人非专业研究这方面,只是根据题主的疑问大概说一下简单原理

至于你软件内是如何解析和操作这些数据或图形化数据,那是软件的事了,反保存亦然。

你所说的包,可能就是根据公开的文件格式结构去读取解析文件的。




  

相关话题

  有哪些好的C#开源项目推荐? 
  电脑中有哪些必不可少的软件 或者 有意思的软件? 
  你在写程序的时候经历过哪些有趣的事? 
  安卓系统手机的屏幕被监控,如何摆脱被监控的处境? 
  学计算机,不太喜欢编程,有哪些出路? 
  如何评价微信最新更新的 8.0 版本?有哪些新功能? 
  为什么很多理工科出身的优秀的学生最终选择做咨询或金融?工作几年后对当时的选择是否感到一丝遗憾? 
  如何看待北大古生物「一个人的毕业照」主人公转行计算机?「冷转码」(冷门专业转码农)现象反映出哪些问题? 
  计算机科学与技术专业的学生要怎样做才能避免成为低级的码农? 
  「传输自动生成代码并执行、生成所需文件」能否成为未来的下载方式? 

前一个讨论
为什么再烂的片都有人看?他们到底图什么?
下一个讨论
当感到「我怎么那么失败」时,应如何平复心情,并渐渐找回自信?





© 2025-06-10 - tinynew.org. All Rights Reserved.
© 2025-06-10 - tinynew.org. 保留所有权利