OGeek|极客世界-中国程序员成长平台

标题: ios - 从 plist 文件中解码数据 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 13:18
标题: ios - 从 plist 文件中解码数据

我在 Macbook Air 上用 Textwrangler 编写的文本文件中丢失了一些数据。我在扩展名为 .plist 的文件中找到了其中一些。文件是用xml编写的,看起来像这样:

 <?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>rintDateIsModificationDate</key>
                <string>asmo</string>
                <key>rintingFont</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>

如何解码“数据”标签中的数据?



Best Answer-推荐答案


数据中的代码是Base64 ,可以使用任何在线工具轻松解码,例如 this one .

PrintingFont 的数据将解码为二进制文件,其中包含的信息在转换为 ASCII 时或多或少类似于这样(显然不包括注释):

// !!! 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;
}

MD5 数据解码为 A62248B900DBD8D082B9A2E11FF80D2B,我会说这是一个 MD5 哈希。

关于ios - 从 plist 文件中解码数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27509319/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4