Mac OS 的属性列表文件plist装换

时间:2022-10-04 16:59:39

Mac OS系统自身包含有转换plist的工具:plutil.其中-p是以human可读方式显示plist文件,而convert就是转换参数,其中支持的格式有:xml,二进制和json。下面拿一个实际例子测试下,该plist文件是二进制文件:

apple@kissAir: Contents$ls

Info.plist MacOS     
Resources

apple@kissAir: Contents$cat I*

bplist00?

!"#$%&'()*(WDTXcodeYDTSDKName_NSPrefPaneIconFile\CFBundleNameZDTSDKBuild_CFBundleDevelopmentRegion_CFBundleVersion_BuildMachineOSBuild_NSPrincipalClass]NSMainNibFile_NSPrefPaneSearchParameters_SSupportsSuddenTermination_CFBundlePackageType_CFBundleInfoDictionaryVersion_CFBundleExecutableZDTCompiler_CFBundleIdentifier_DTPlatformVersion\DTXcodeBuild_CFBundleSignature_NSPrefPaneIconLabel_DTPlatformBuildT0463Zmacosx10.6_FlashPlayerPreferences.png\Flash
PlayerV10K549WEnglishZ15.0.0.239U12F45_FSPreferencesMain_FlashPlayerPreferencesTtrueTBNDLS6.0\Flash PlayerP_ com.adobe.flashplayerpreferencesRGMV4H1503T????\Flash Playe7?I^kv??????,Lal????????

'28Lejos??????+?

显示其内容:

plutil -p I*

{

"DTXcode" => "0463"

"DTSDKName" => "macosx10.6"

"NSPrefPaneIconFile" => "FlashPlayerPreferences.png"

"CFBundleName" => "Flash Player"

"DTSDKBuild" => "10K549"

"CFBundleDevelopmentRegion" => "English"

"CFBundleVersion" => "15.0.0.239"

"BuildMachineOSBuild" => "12F45"

"NSPrincipalClass" => "FSPreferencesMain"

"NSMainNibFile" => "FlashPlayerPreferences"

"NSPrefPaneSearchParameters" => "FlashPlayerPreferences"

"NSSupportsSuddenTermination" => "true"

"CFBundlePackageType" => "BNDL"

"CFBundleInfoDictionaryVersion" => "6.0"

"CFBundleExecutable" => "Flash Player"

"DTCompiler" => ""

"CFBundleIdentifier" => "com.adobe.flashplayerpreferences"

"DTPlatformVersion" => "GM"

"DTXcodeBuild" => "4H1503"

"CFBundleSignature" => "????"

"NSPrefPaneIconLabel" => "Flash Player"

"DTPlatformBuild" => "4H1503"

}


转换:

apple@kissAir: Contents$plutil -convert xml1 I* -o ~/x


这是转换后的内容:

apple@kissAir: ~$file x

x: XML document text

apple@kissAir: ~$cat x

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>BuildMachineOSBuild</key>

<string>12F45</string>

<key>CFBundleDevelopmentRegion</key>

<string>English</string>

<key>CFBundleExecutable</key>

<string>Flash Player</string>

<key>CFBundleIdentifier</key>

<string>com.adobe.flashplayerpreferences</string>

<key>CFBundleInfoDictionaryVersion</key>

<string>6.0</string>

<key>CFBundleName</key>

<string>Flash Player</string>

<key>CFBundlePackageType</key>

<string>BNDL</string>

<key>CFBundleSignature</key>

<string>????</string>

<key>CFBundleVersion</key>

<string>15.0.0.239</string>

<key>DTCompiler</key>

<string></string>

<key>DTPlatformBuild</key>

<string>4H1503</string>

<key>DTPlatformVersion</key>

<string>GM</string>

<key>DTSDKBuild</key>

<string>10K549</string>

<key>DTSDKName</key>

<string>macosx10.6</string>

<key>DTXcode</key>

<string>0463</string>

<key>DTXcodeBuild</key>

<string>4H1503</string>

<key>NSMainNibFile</key>

<string>FlashPlayerPreferences</string>

<key>NSPrefPaneIconFile</key>

<string>FlashPlayerPreferences.png</string>

<key>NSPrefPaneIconLabel</key>

<string>Flash Player</string>

<key>NSPrefPaneSearchParameters</key>

<string>FlashPlayerPreferences</string>

<key>NSPrincipalClass</key>

<string>FSPreferencesMain</string>

<key>NSSupportsSuddenTermination</key>

<string>true</string>

</dict>

</plist>


Mac OS 的属性列表文件plist装换的更多相关文章

  1. &lbrack;Xcode 实际操作&rsqb;七、文件与数据-&lpar;9&rpar;编码创建Plist文件&lpar;属性列表文件&rpar;

    目录:[Swift]Xcode实际操作 本文将演示如何通过编码的方式,创建属性列表文件. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit ...

  2. &lbrack;Xcode 实际操作&rsqb;七、文件与数据-&lpar;8 &rpar;读取和解析Plist文件&lpar;属性列表文件&rpar;

    目录:[Swift]Xcode实际操作 本文将演示如何读取和解析Plist文件,即属性列表文件. 它是用来存储,串行化后的对象的文件. 在项目名称上点击鼠标右键,弹出右键菜单, 选择[New File ...

  3. iOS开发备忘录:属性列表文件数据持久化

    属性列表文件是一种XML文件,Foundation框架中的数组和字典等都可以于属性列表文件相互转换. NSArray类常用读写属性列表文件的方法: +arrayWithContentsOfFile:类 ...

  4. iOS开发之数据存储之XML属性列表(plist)归档

    1.概述 “归档”意思是持久化存储数据.plist文件是一种XML格式的文件,拓展名为plist.如果对象是NSString.NSDictionary.NSArray.NSData.NSNumber等 ...

  5. &lbrack;Xcode 实际操作&rsqb;七、文件与数据-&lpar;3&rpar;创建文本文件、属性列表文件、图片文件

    目录:[Swift]Xcode实际操作 本文将演示如何创建各种类型的文件. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit class V ...

  6. Mac OS环境下媒体文件分割工具mediafilesegmenter的简单使用&lpar;生成M3U8 TS文件&rpar;

    mediafilesegmenter是苹果开发的一款用于分割媒体文件的工具,其功能与mediastreamsegmenter相似,但操作更简单. * 具体可以对比博客中的另一篇简介<Mac OS ...

  7. mac os去除去除&period;DS&lowbar;Store文件--使用python和go(原创)

    .DS_Store (英文全称 Desktop Services Store)是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件,目的在于存贮文件夹的自定义属性,例如文件们的图标位置或者是背景 ...

  8. 苹果Mac OS系统修改Hosts文件的方法

    使用苹果Mac OS X系统的用户有很多,近期也有不少童鞋问我Mac怎么修改hosts,修改hosts的方式有很多,下面我就整理两种比较方便的方法吧,希望能够帮到大家. 在某些时候可能遇到了需要修改系 ...

  9. 删除Mac OS X中Finder文件打开方式列表的重复程序或失效的

    清理列表, 可以在终端中输入下面提供的一行命令: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices ...

随机推荐

  1. &lbrack;Java&rsqb;double初始化问题

    如下: 1. 直接初始化 double[][] embossFilter = {{-1/9, 0, 1/9}, {-1/9, 1/9, 1/9}, {-1/9, 0, 1/9}}; 2. 赋值初始化 ...

  2. C&num; 多线程详解 Part&period;01(UI 线程、子线程)

    基本概念 什么是进程?        当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源.一个进程至少有一个主线程. 什么是线程?        线程是程序中的一 ...

  3. C&num; 位域&lbrack;flags&rsqb; 转

    C# 位域[flags] .NET中的枚举我们一般有两种用法,一是表示唯一的元素序列,例如一周里的各天:还有就是用来表示多种复合的状态.这个时候一般需要为枚举加上[Flags]特性标记为位域,例如: ...

  4. range&comma;shuffle&comma;str&lowbar;shuffle

    print_r(range(1,20)); 输出,range产生 Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ...

  5. 斐波那契数列(C&num;)

    斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列.费波那西数列.费波拿契数.费氏数列,指的是这样一个数列:1.1.2.3.5.8.13 ...

  6. python3 tkinter报错:&lowbar;tkinter&period;TclError&colon; cannot use geometry manager pack inside &period; which already has slaves managed by grid

    报错: _tkinter.TclError: cannot use geometry manager pack inside . which already has slaves managed by ...

  7. 2&period;4 逻辑运算符 &amp&semi;&amp&semi;&lpar;与&rpar;、&vert;&vert;&lpar;或&rpar;、非&lpar;&excl;&rpar;

    一.逻辑运算符 &&(与).||(或).非(!) 逻辑运算符两边的表达式一定是布尔值,结果也是布尔值. 1.1.1 逻辑与 && => 表示并且.且的意思: tr ...

  8. 14-补充内容:MySQl创建用户和授权

    [转]14-补充内容:MySQl创建用户和授权 权限管理 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete.update.grant等操 ...

  9. MySQL基本教程&lpar;一&rpar;

    创建数据库 mysql -u root -p CREATE DATABASE Hank; 删除数据库 drop database Hank; 选择数据库 use Hank; MySQL 数据类型 My ...

  10. 【BZOJ1213】高精度开根

    python是坠吼的! 原题: 不贴原题,就是高精度开根,结果向下取整 首先二分答案,高精度嘛……python即可 二分右端点设为n会T掉,需要先倍增一个r,while(r **m <= n) ...