ios - 从 plist 文件中解码数据
<p><p>我在 Macbook Air 上用 Textwrangler 编写的文本文件中丢失了一些数据。我在扩展名为 .plist 的文件中找到了其中一些。文件是用xml编写的,看起来像这样:</p>
<pre><code> <?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">
<key>/Applications/MAMP/htdocs/04. Clock-box/login.php</key>
<dict>
<key>BBEditStateData</key>
<dict>
<key>MainScrollBar</key>
<integer>0</integer>
<key>PrintDateIsModificationDate</key>
<string>asmo</string>
<key>PrintingFont</key>
<data>
YnBsaXN0MDDUAQIDBAUIKClUJHRvcFgkb2JqZWN0c1gk
dmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqQkKDxka
GxwdJFUkbnVsbNILDA0OViRjbGFzc18QGk5TRm9udERl
c2NyaXB0b3JBdHRyaWJ1dGVzgAiAAtMQCxESFRZaTlMu
b2JqZWN0c1dOUy5rZXlzohMUgAWABoAHohcYgAOABF8Q
E05TRm9udE5hbWVBdHRyaWJ1dGVfEBNOU0ZvbnRTaXpl
QXR0cmlidXRlXU1lbmxvLVJlZ3VsYXIiQUAAANIeHyAh
WCRjbGFzc2VzWiRjbGFzc25hbWWjISIjXxATTlNNdXRh
YmxlRGljdGlvbmFyeVxOU0RpY3Rpb25hcnlYTlNPYmpl
Y3TSHh8lJ6ImI18QEE5TRm9udERlc2NyaXB0b3JfEBBO
U0ZvbnREZXNjcmlwdG9yEgABhqBfEA9OU0tleWVkQXJj
aGl2ZXIACAARABYAHwAoADIANQA6ADwARgBMAFEAWAB1
AHcAeQCAAIsAkwCWAJgAmgCcAJ8AoQCjALkAzwDdAOIA
5wDwAPsA/wEVASIBKwEwATMBRgFZAV4AAAAAAAACAQAA
AAAAAAAqAAAAAAAAAAAAAAAAAAABcA==
</data>
<key>SelectionEnd</key>
<integer>892</integer>
<key>SelectionStart</key>
<integer>0</integer>
<key>WindowShape</key>
<string>rect(45,14,1011,1317)</string>
</dict>
<key>LastAccessed</key>
<date>2014-12-09T14:22:18Z</date>
<key>MD5</key>
<data>
QTYyMjQ4QjkwMERCRDhEMDgyQjlBMkUxMUZGODBEMkI=
</data>
</dict>
</code></pre>
<p>如何解码“数据”标签中的数据? </p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>数据中的代码是<a href="http://en.wikipedia.org/wiki/Base64" rel="noreferrer noopener nofollow">Base64</a> ,可以使用任何在线工具轻松解码,例如 <a href="http://www.opinionatedgeek.com/dotnet/tools/Base64Decode/" rel="noreferrer noopener nofollow">this one</a> .</p>
<p><code>PrintingFont</code> 的数据将解码为二进制文件,其中包含的信息在转换为 ASCII 时或多或少类似于这样(显然不包括注释):</p>
<pre><code>// !!! BINARY PROPERTY LIST WARNING !!!
//
// The pretty-printed property list below has been created
// from a binary version on disk and should not be saved as
// the ASCII format is a subset of the binary representation!
//
{ "$archiver" = "NSKeyedArchiver";
"$objects" = (
"$null",
{ "$class" = :false;
NSFontDescriptorAttributes = :false;
},
{ "$class" = :false;
NS.keys = ( :false, :false );
NS.objects = ( :false, :false );
},
"NSFontNameAttribute",
"NSFontSizeAttribute",
"Menlo-Regular",
12,
{ "$classes" = ( "NSMutableDictionary", "NSDictionary", "NSObject" );
"$classname" = "NSMutableDictionary";
},
{ "$classes" = ( "NSFontDescriptor", "NSObject" );
"$classname" = "NSFontDescriptor";
},
);
"$top" = { root = :false; };
"$version" = 100000;
}
</code></pre>
<p>MD5 数据解码为 <code>A62248B900DBD8D082B9A2E11FF80D2B</code>,我会说这是一个 MD5 哈希。</p></p>
<p style="font-size: 20px;">关于ios - 从 plist 文件中解码数据,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/27509319/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/27509319/
</a>
</p>
页:
[1]