当前位置: 首页 > news >正文

光盘文件格式-udf、iso9660、Joliet、Romeo

ISO和UDF:

ISO-9660:又简称ISO,是由国际标准化组织在1985年制定的,当前唯一通用的光盘文件系统任何类型的计算机都支持它,所有的烧录软件也都支持它。而且,若想让所有的CD-ROM都能读取烧录好的光盘,就必须使用ISO-9660或与其兼容的文件系统,其他的文件系统只能在CD-R或CD-RW上读取(有的还需要相应的烧录软件配合)。ISO-9660目前有两个标准:Level 1和Level 2。Level 1与DOS兼容,文件名采用传统的8.3格式,而且所有字符只能是26个大写英文字母、10个阿拉伯数字及下划线。Level 2则在Level 1的基础上加以改进,允许使用长文件名,但不支持DOS。

UDF是统一光盘格式(Universal Disc Format)的缩写。它采用标准的封装写入技术(PW,Packet Writing)将CD-R当作硬盘来使,用户可以在光盘上修改和删除文件。其基本原理是在进行烧录时先将数据打包,并在内存中临时建立一个特殊的文件目录表,同时接管系统对光盘的访问。被删除的文件或文件中被修改的部分其实仍存在CD-R光盘中,修改后的部分则以单独的数据块写入光盘,只不过在内存的目录表中,通过设定允许和不允许访问以及特殊链接等重定向寻址方法将数据重新组合,让系统找不到“老数据”,或让新数据替换老数据,从而达到删除与修改的目的。当用户结束操作后,便将新的目录表写回光盘并记下操作内容以便光盘日后的读取和数据的恢复(Undo)。这样一来,无疑大大增加了操作的便利性。而且在使用UDF时,一般都可以使用Windows中的资源管理器就能进行烧录,不会象使用ISO映像文件进行烧录时,每次完毕后都要进行关闭区段(Close Session)的操作,减少了烧录失败的机率。目前使用UDF技术的软件也都支持对CD-RW盘片的烧录,但在一些细节上有所不同,如删除的文件真的是被删除而不再是欺骗操作系统了。不过,在增加便利性的同时UDF也减少了有效存储空间,而且还要事先将CD-R与CD-RW盘片进行格式化,其中CD-RW盘片格式化后的容量要减少近100MB,所以大家要视情使用。另外,它还有一种派生的格式,即UDF/ISO,用UDF的技术制作ISO标准的光盘。

两者的区别:

ISO 不支持单个大于2G的文件

UDF 支持2G大小以上文件

ISO 兼容性好

UDF DOS和Win98系统不支持此格式,2000和XP以上系统和MAC系统支持

扩展ISO9660----Joliet和Romeo文件系统

在ISO9660中有一些限制,如字符设置限制,文件名长度限制和目录树深度限制.这些规定阻碍了用户复制数据到可被不同计算机平台读取的CD-ROM.因此,一些操作系统出售商已经以几种方式扩展ISO9660.

Joliet文件系统是扩展文件系统之一,由Microsoft提出和实现.它以ISO9660(1988)标准为基础。如果一CD是用Joliet文件系统创建,它只能在window 9x和window NT4.0 或更新版下读取,但是不能在任何其它平台上读取。在Joliet文件系统下,长文件名允许字符数最多为64,长目录允许数目最多为64。但是,文件名加它的完全路径总字符数不能超过120。

Romeo只定义为window9x长文件名,最多128字符。

转自:udf iso9660 java_ISO和UDF光盘格式、扩展ISO9660----Joliet和Romeo文件系统_焦虑中的博客-CSDN博客

相关文章:

  • 刻录光盘的程序步骤
  • ISO文件
  • DVD-数字通用光盘
  • VCD-影音光碟
  • CD-CompactDisk
  • 光盘的标准与格式
  • Hash-散列函数
  • 索引(index)是什么
  • QT 中文乱码解决汇总(包括QString与string、char*互转乱码)
  • c++中const的作用
  • C++ const 详解
  • QT之QML
  • QNX是什么
  • QT中的pro变量解析
  • Qt编译debug和release版本--CONFIG(debug,debug|release)
  • 【译】JS基础算法脚本:字符串结尾
  • python3.6+scrapy+mysql 爬虫实战
  • Create React App 使用
  • gf框架之分页模块(五) - 自定义分页
  • iOS小技巧之UIImagePickerController实现头像选择
  • java取消线程实例
  • js中的正则表达式入门
  • Linux Process Manage
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • React-生命周期杂记
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 微信小程序实战练习(仿五洲到家微信版)
  • 我看到的前端
  • 小程序 setData 学问多
  • 优秀架构师必须掌握的架构思维
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • 积累各种好的链接
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • #Linux(权限管理)
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #传输# #传输数据判断#
  • (C语言)字符分类函数
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (poj1.3.2)1791(构造法模拟)
  • (八)Spring源码解析:Spring MVC
  • (二)Linux——Linux常用指令
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • .NET Core 版本不支持的问题
  • .net 受管制代码
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .Net小白的大学四年,内含面经