#attributes #finder #info #apple #parse #read #hfs-hfs-apfs

app finder_info_bin

一个解析Apple HFS/HFS+/APFS FinderInfo属性的实用程序

1 个不稳定版本

0.2.0 2021年2月16日

#37#finder

Apache-2.0

38KB
820

finderinfo

一个解析Apple HFS/HFS+/APFS FinderInfo属性的库。

在现代MacOS系统中,文件系统中的对象可以有一个名为 com.apple.FinderInfo 的扩展属性。这个属性长32字节,大部分未记录。实际上,这个属性的前16字节是旧的HFS Finder Info结构,后16字节是扩展的Finder Info结构。这个库提供了一种机制,允许Rust程序以编程方式与这些结构交互。

此crate还提供了一个名为 finderinfo 的可执行程序,这是一个小的实用程序,可以解析并显示Finder Info blob的内容。如果使用 xattr 功能构建,则库能够在MacOS系统上读取和写入 com.apple.FinderInfo 扩展属性。

示例

let buf = vec![
    0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8,
    0x40u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8,
    0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8,
    0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8,
];
let finder_info = FinderInfoFolder::read(&mut io::Cursor::new(buf));
println!("{:?}", finder_info);

依赖项

~3.5–5.5MB
~96K SLoC