Mulk ro'yxati - Property list

Mulk ro'yxati
Fayl nomi kengaytmasi
.plist
Internet-media turi
ilova / x-plist
Bir xil turdagi identifikator (UTI)com.apple.property-list
Tomonidan ishlab chiqilganApple Computer va GNUstep,
avval Keyingisi
Format turiSerializatsiya ning lug'at ob'ektlar.

In macOS, iOS, Keyingi qadam va GNUstep dasturlash ramkalar, mulk ro'yxati fayllar - bu saqlanadigan fayllar ketma-ket ob'ektlar. Xususiyatlar ro'yxati fayllari fayl nomini kengaytirish .plist, va shuning uchun tez-tez deb nomlanadi p-ro'yxat fayllar.

Xususiyatlar ro'yxati fayllari ko'pincha foydalanuvchi sozlamalarini saqlash uchun ishlatiladi. Ular haqida ma'lumotni saqlash uchun ham foydalaniladi to'plamlar va ilovalar, tomonidan bajarilgan vazifa manba vilkasi eski Mac OS-da.

Shuningdek, mulk ro'yxatlari uchun foydalaniladi mahalliylashtirish rivojlanish uchun satrlar. Ushbu fayllar .strings yoki .stringsdict kengaytmalar. Birinchisi, "qisqartirilgan" eski uslubdagi plist bo'lib, uning tarkibida braxensiz bitta lug'at mavjud (qarang) propertyListFromStringsFileFormat),[1] ikkinchisi esa to'laqonli plist. XCode shuningdek, a dan foydalanadi .pbxproj loyiha fayllari sifatida ishlatiladigan eski uslubdagi plistlar uchun kengaytma.

Vakolatxonalar

Xususiyatlar ro'yxati bilan ifodalangan ma'lumotlar biroz bo'lgani uchun mavhum, asosiysi fayl formati ko'p yo'llar bilan amalga oshirilishi mumkin. Ya'ni, Keyingi qadam mulk ro'yxatini namoyish qilish uchun bitta formatdan foydalangan va keyingi GNUstep va macOS ramkalar turli xil formatlarni taqdim etdi.

Keyingi qadam

Ostida Keyingi qadam, mulk ro'yxatlari bo'lishi uchun mo'ljallangan edi inson tomonidan tushunarli va qo'l bilan tahrirlangan, seriyalashtirilgan ASCII biroz o'xshash sintaksisda dasturlash tili. Xuddi shu format tomonidan ishlatilgan OpenStep.

  • Iplar C so'zma-so'z uslubida ifodalanadi: "Bu aniq satr n"; oddiyroq, tirnoqsiz satrlar alfasayısal va bittadan iborat bo'lganda ruxsat etiladi _$+/:.-.
  • Ikkilik ma'lumotlar quyidagicha ifodalanadi: < [ASCII-dagi o'n oltinchi kodlar] >. Juftlangan olti-kodlar orasidagi bo'shliqlar va sharhlar e'tiborga olinmaydi.
  • Massivlar quyidagicha ifodalanadi: ( "1", "2", "3" ). Keyingi vergullarga yo'l qo'yiladi.
  • Lug'atlar quyidagicha ifodalanadi: {"key" = "value"; ...}. Chap tomon mag'lubiyatga ega bo'lishi kerak, lekin u kotirovka qilinishi mumkin.
  • Fikrlarga quyidagicha ruxsat beriladi: / * Bu sharh * / va // Bu satr sharhi.
  • C da bo'lgani kabi, bo'sh joy odatda sintaksis uchun ahamiyatsiz. Qiymat bayonotlari nuqta-vergul bilan tugaydi.

Asl ro'yxatdagi NeXT formatining bitta cheklovi shundaki, u NSValue (raqam, mantiqiy va boshqalar) ob'ektini namoyish eta olmaydi. Natijada, ushbu qiymatlar mag'lubiyatga aylantirilishi va dastur tomonidan "loyqa" tarzda tiklanishi kerak edi.[2] Boshqa bir cheklov shundaki, rasmiy 8-bitli kodlash aniqlanmagan.[3]

The sukut bo'yicha yordam dasturi, OpenStep-da (1998) kiritilgan, imtiyozlarni saqlash uchun ishlatiladigan plist fayllarni boshqarish uchun ishlatilishi mumkin ( sukut bo'yicha buyruq satrida ularning afzalliklari domeni orqali NeXTSTEP-da, shuning uchun ism) va ushbu yordam dasturi o'zboshimchalik bilan plist fayllarni tahrirlash uchun ishlatilishi mumkin. Ushbu yordam dasturi uchta eski buyruqni almashtirdi.[4]

GNUstep

GNUstep NXVALue va NSDate ma'lumotlar turlarini namoyish qilish uchun qo'shimchalar bilan NeXTSTEP formatini qabul qiladi. Yangi yozilgan yozuvlar shaklga ega <*T...>, qayerda T bitta harfli kod. Masalan, mantiqiy Ha-ning NSV qiymati quyidagicha ifodalanadi <*BY> va NSDate moslamalari quyidagicha ifodalanadi <*DYYYY-MM-DD HH:MM:SS +ZZZZ>.[5][6] Ikkilik ma'lumotlar ham samaraliroq foydalanishi mumkin 64 kabi formatlash <[ b64... ]>. 8-bitli muammo ham bevosita echimini topdi, chunki aksariyat tarqatish UTF-8 dan foydalanadi. Yakunida, yakunlab; Umuman, NSPropertyListGNUstepFormat inson tomonidan o'qiladigan matn formatining ekspresivligi va ixchamligini Apple-ning XML formatiga tenglashtiradi.

GNUstep-da o'z ikkilik formati mavjud, NSPropertyListGNUstepBinaryFormat, amalga oshirildi NSSerializatsiya. Ushbu format matn formatlari singari rekursiv ravishda aniqlanadi, ba'zi ma'lumotlar oldidan bitta baytli marker mavjud. Ning shakli mag'lubiyatga o'tish GS-kengaytmasi orqali qo'llab-quvvatlanadi shouldBeCompact almashtirish.[7]

GNUstep-da ikkita mustaqil mustaqil plist ishlovchilar mavjud: the CFPropertyList yilda libs-core-base (CoreFoundation) va NSPropertyList yilda libs-base (Poydevor to'plami). Ikkalasi ham ma'lum darajada macOS tomonidan ishlatiladigan ikkilik va XML shakllarini qo'llab-quvvatlaydi, ammo ikkinchisi ancha to'liq. Masalan, GNUstep-ga xos ikkita format faqat ikkinchisida ishlaydi.[8]

GNUstep asosida plist buyruq qatori vositalari to'plami mavjud NSPropertyListversiyasini o'z ichiga olgan pl[9] va sukut bo'yicha.[4]

macOS

MacOS NeXTSTEP formatini ham o'qishi mumkin bo'lsa-da, Apple uni o'zining ikkita yangi formati foydasiga ajratadi, biri XML asosidagi, ikkinchisi ikkilik. Apple shuningdek qisman mos keladigan JSON formatiga ega (NSJSONSerializatsiya).

Tarix

Yilda Mac OS X 10.0, NeXTSTEP formati edi eskirgan va yangi XML formati, ommaga taqdim etildi DTD tomonidan belgilanadi olma. XML formati ASCII bo'lmagan belgilarni va NSValue moslamalarini saqlashni qo'llab-quvvatlaydi (GNUstep-ning ASCII xususiyatlar ro'yxati formatidan farqli o'laroq, Apple-ning ASCII xususiyatlar ro'yxati formati qo'llab-quvvatlamaydi).[10]

XML-fayllar, bu bo'sh joyni tejashning eng qulay vositasi emasligi sababli, Mac OS X 10.2 mulk ro'yxati fayllari ikkilik fayl sifatida saqlanadigan yangi formatni taqdim etdi. Bilan boshlanadi Mac OS X 10.4, bu imtiyozli fayllar uchun standart format. Yilda Mac OS X 10.7, fayllarni o'qish va yozishni qo'llab-quvvatlash JSON formati joriy etildi. JSON va mulk ro'yxatlari bir-biriga to'liq mos kelmaydi. Masalan, mulk ro'yxatlarida JSON formati qo'llab-quvvatlamaydigan mahalliy sana va ma'lumotlar turlari mavjud. Aksincha, JSON ruxsat beradi bekor qiymatlar, mulk ro'yxatlari aniq nulllarni qo'llab-quvvatlamaydi.

Asbobsozlik

Eski sukut bo'yicha NeXTSTEP vositasi mavjud bo'lib qolmoqda. The / usr / libexec / PlistBuddy buyruq interaktiv plist muharriri bilan ta'minlaydi. Bundan tashqari, skript yozilishi mumkin.[11]

The plutil yordam dasturi (kiritilgan Mac OS X 10.2 ) xususiyatlar ro'yxatlari sintaksisini tekshirish yoki xususiyatlar ro'yxati faylini bir formatdan ikkinchisiga aylantirish uchun ishlatilishi mumkin. Bundan tashqari, u plyuslarni Objective-C yoki Swift ob'ektiv harflariga o'tkazishni qo'llab-quvvatlaydi.[12] Kakao singari NSPropertyListSerialization u qurilgan, u "eski uslub" ma'lumotlarini oladi, ammo bu turga o'tmaydi. (Kakao NSSerializer oldingi Mac OS X 10.2 eski uslubdagi chiqishni chiqaradi.)

The pl yordamchi dastur Mac OS X v10.5 da joriy qilingan. Bu har qanday ma'lumotni oladi va "eski uslub" ro'yxatlarini yaratishga harakat qiladi.[13][a] GNUstep versiyasi singari, tavsif Apple plyus tomonidan aniqlangan eski uslubdagi plistlarni ishlab chiqarishni rejalashtirgan plyonkalarda joylashgan Foundation turlarining xususiyati.[b]

Ichki jihatlarga kelsak, Apple o'zlarining eski uslublari, XML va ikkilik formatlari uchun ochiq manba kodli tahlilchini taqdim etadi. Asosiy fond kodni CFPropertyList sifatida. Biroq, barcha yordam dasturlari va tizimning aksariyat qismlari Obj-C Foundation Kit-dan yopiq manbali NSPropertyList ajralish dasturidan foydalanadilar. Swift reimplementatsiyasi ochiq manbali, ammo bir xil bo'lishiga kafolat berilmaydi.

Formatlash

XML va JSON mulk ro'yxatlari har qanday matn muharririda qo'lda tahrir qilinadi. Bundan tashqari, Apple qo'llab-quvvatlaydi Xkod ierarxik tomoshabin / tahrirlovchida xususiyatlar ro'yxatlarini tahrirlash uchun, ikkilik yoki formatlangan plistlarni boshqarishi mumkin XML, lekin emas JSON. Sifatida Mac OS X 10.4, Apple an beradi AppleScript System Events dasturi orqali mulk ro'yxati fayllarini o'qish interfeysi. Sifatida Mac OS X 10.5, Apple an beradi AppleScript mulk ro'yxati fayllarini tahrirlash, yaratish va yozish uchun interfeys.[14]

XML formati uchun teglar, tegishli Foundation sinflari va CoreFoundation turlari va ma'lumotlarni saqlash formatlari quyidagicha:

Jamg'arma klassiCoreFoundation turiXML yorlig'iSaqlash formati
NSStringCFString<string>UTF-8 kodlangan satr
NS raqamiCF raqami<real>, <integer>O'nli qator; reallar eksponentlarga ega bo'lishi yoki Infinity (inf) yoki NaN (nan) bo'lishi mumkin.
NS raqamiCFBoolean<true/>, <false/>Ma'lumot yo'q (faqat teg)
NSDateCFDate<date>ISO 8601 formatlangan satr
NSDataCFData<data>Baza 64 kodlangan ma'lumotlar
NSArrayCFArray<array>Har qanday bolalar elementlarini o'z ichiga olishi mumkin. Bo'sh bo'lishi mumkin.
NSDictionaryCFDictionary<dict>O'zgaruvchan <key> teglar va plist element teglari. Bo'sh bo'lishi mumkin.

The Ikkilik fayl formatdagi sharhlar blokida hujjatlashtirilgan Asosiy fond C kod manbai fayli (CF / CFBinaryPList.c) Apple fondining kutubxonasida ikkilik ro'yxatlarni ochiq manbadan amalga oshirish uchun.[15] Apple o'zining 5-sonli qo'llanmasidagi sahifadagi hujjatlarda dasturni shaffof emas deb ta'riflaydi,[16] bu shuni anglatadiki, formatga ishonish taqiqlanadi. Ikkilik fayl formatida sehrli raqam (faylning dastlabki bir necha baytlari, bu uning to'g'ri plist fayl ekanligini bildiradi) bu matn bplist, so'ngra formatning versiyasini ko'rsatadigan ikkita bayt.

Ikkilik fayl XML yoki JSON formatida yozib olinmaydigan ba'zi ma'lumotlarni saqlashi mumkin. Massiv, to'plam va lug'at ikkilik turlari quyidagilardan iborat ko'rsatgichlar - objref va keyref yozuvlari - fayldagi ob'ektlar jadvaliga ushbu indeks. Bu shuni anglatadiki, ikkilik ro'yxatlar, masalan, faylga ketma-ket ajratilgan alohida qator va lug'atning ikkalasida ham bir xil ma'lumotlar elementi saqlanganligini anglashi mumkin. Buni XML fayliga yozib bo'lmaydi. Bunday ikkilik faylni konvertatsiya qilish natijasida ma'lumotlar elementining nusxasi XML fayliga joylashtiriladi. Bundan tashqari, ikkilik fayl ketma-ketlikda ma'lumotlar elementlarini aniqlash uchun ishlatiladigan UID turiga ega. S kod manbaidan olingan ma'lumotlarni saqlashning to'liq ro'yxati quyidagicha:

Ikkilik plist ob'ekt formatlari (CoreFoundation 1153 holatiga ko'ra)[15]
Jamg'arma klassiCoreFoundation turiOb'ekt turiMarker baytiKodlangan ma'lumotlar
nolnolbekor (v "1?" +)0000 0000n / a
NS raqamiCFBooleanbool0000 1000 (noto'g'ri)
0000 1001 (rost)
n / a
NSURLCFURLurl (v "1?" +)0000 1100 (asosiy satr)
0000 1001 (mag'lubiyat)
string: rekursiv kodlashdagi URL qatori ("satr ob'ekti formati kabi" kabi); asosiy satr: xuddi shunday, lekin birinchi navbatda asosiy URL bilan kodlangan.
NSUUIDCFUUIDuuid (v "1?" +)0000 111016 bayt UUID
to'ldirish0000 1111hech narsa - faqat plomba
NS raqamiCF raqamiint0001 nnnn# bayt 2 ^ nnnn, katta endian bayt (1, 2, 4 yoki 8)
NS raqamiCF raqamihaqiqiy0010 nnnn# bayt 2 ^ nnnn, katta endian bayt (4 yoki 8)
NSDateCFDatesana0011 00118 baytlik suzuvchi quyidagicha, katta endian bayt; 1/1/2001 dan soniya (Asosiy ma'lumotlar davr)
NSDataCFDatama'lumotlar0100 nnnn [int]nnnn - baytlar soni, agar 1111 bo'lmasa, keyin int count, keyin esa baytlar keladi
NSStringCFStringmag'lubiyat0101 nnnn [int]ASCII satri, nnnn # belgilar qatori, aks holda 1111 keyin int count, keyin baytlar
NSStringCFStringmag'lubiyat0110 nnnn [int]Unicode qatori, nnnn # belgidan iborat, else 1111 keyin int count, keyin katta endian 2 baytli uint16_t
NSStringCFStringmag'lubiyat (v "1?" +)0111 nnnn [int]UTF-8 mag'lubiyati, nnnn - # belgi, aks holda 1111 keyin int count, keyin bayt
NS raqamiCF raqamiUID1000 nnnnnnnn + 1 - katta-endian baytlarning soni (1, 2, 4 yoki 8). Imzosiz int, faqat tomonidan ishlab chiqarilgan NSKeyedArchiver (pastga qarang).[17]
NSArrayCFArrayqator1010 nnnn [int]objref * nnnn hisoblanadi, agar '1111' bo'lmasa, keyin int count keladi
NSOrderedSetordset (v "1?" +)1011 nnnn [int]objref * nnnn hisoblanadi, agar '1111' bo'lmasa, keyin int count keladi
NSSetCFSeto'rnatilgan (v "1?" +)1100 nnnn [int]objref * nnnn hisoblanadi, agar '1111' bo'lmasa, keyin int count keladi
NSDictionaryCFDirikimlo1101 nnnn [int]keyref * objref * nnnn hisoblanadi, agar '1111' bundan mustasno bo'lsa, u holda int count keladi

Ga e'tibor bering v "1?" + ko'plab turlarda eslatma. Bu shuni anglatadiki, marker bayti faqat format versiyasi "1?" Dan past bo'lmagan fayllarda mavjud. sehrli raqam. Ularni tahlil qilishning aniq usuli eski turlarni tahlil qilish usulidan ko'ra ko'proq noaniqdir, chunki CFBinaryPlist dasturida faqat "0?" Versiyasi ishlaydi. Amalda, bunday turlarga hech qachon duch kelinmaydi, chunki NSKeyedArchiver bu ma'lumotni olish imkoniyatiga ega.

Ofsetlar jadvali ob'ektlar jadvalini kuzatib boradi, so'ngra ikkita jadvalning o'lchamlari va joylashuvi to'g'risidagi ma'lumotlarni o'z ichiga olgan treyler keladi.

Plist uchun ketma-ketlik

Mulk ro'yxatlari o'zboshimchalik bilan ob'ektni tavsiflash uchun zarur bo'lgan barcha ma'lumotlar va ma'lumotlar turlarini o'z ichiga olmaganligi sababli, ko'pincha kodlash va dekodlashning qo'shimcha qatlami amalga oshiriladi. OpenStep spetsifikatsiyasi har qanday narsani seriyalashtirish ishini qisqartiradi NSObject ostida NSC kodlash protokol. Ushbu protokolni amalga oshiruvchi har qanday sinf o'z misollarini NSCoder subklassni boshqa formatga o'tkazish.[18] Ob'ektlarni ro'yxatlarga seriyalashtirish uchun ikkita asosiy kodlovchi mavjud:

  • NSArchiver, bu ob'ektni ikkilik ma'lumotlar blokiga aylantirgan strukturaga o'xshash tarzda o'zgartiradi. Ushbu sinf OpenStep-ning bir qismidir, ammo aniq format aniqlanmagan. Amalda, undan ob'ektni faylga ketma-ketlashtirish (plistni o'tkazib yuborish) yoki ma'lumotlarni plist ichiga joylashtirish uchun foydalanish mumkin. U o'qilgan va yozilgan tartibda yozilgan bo'lishi kerak. Kirish NSKeyedArchiver undan foydalanishni bekor qiladi.
  • NSKeyedArchiver, Mac OS X 10.2 da kiritilgan, ob'ektni an ga o'zgartiradi NSDictionary. Dasturchilar uchun ushbu formatning asosiy yaxshilanishi shundaki, u a'zolarga belgilangan tartibda emas, balki string tugmachalari orqali kirishadi. Ichki sifatida, ob'ektlar jadvali deb nomlangan qatorni saqlash orqali ikkilik plist formatini biroz takrorlaydi $ ob'ektlar lug'atda. Boshqa barcha narsalar, shu jumladan sinf ma'lumotlari, UID ko'rsatgichi tomonidan havola qilinadi. A $ top Dasturchi kodlashni nazarda tutgan eng yuqori darajadagi ob'ektga diktaga kirish.[17]

Boshqa narsalar qatori, arxivatordan foydalanish plist formatini o'zgartirmasdan yangi ma'lumotlar turlarini kodlash imkonini beradi va bu Apple uchun NSSets va null qiymatlar kabi narsalarni kodlashning afzal usuli hisoblanadi. Formatlarni tahlil qilish biroz qiyinlashadi, chunki ba'zi bir sinflar uchun yana bitta qatlamni kuzatib borish kerak, chunki ro'yxatlar qo'llab-quvvatlashi kerak edi. Ob'ekt jadvaliga ega bo'lgan ikkilik format singari, dumaloq havolalar yaratish mumkin NSKeyedArchiver. XML-da UID ma'lumot turi mavjud emasligi sababli, butun sonlar lug'atda "CF $ UID" kaliti ostida saqlanadi.[19]

Apple ochiq manbali manbasini nashr etadi NSKeyedArchiver Swift Corelibs fondida; yopiq manbali Apple Foundation singari, u chiqish formatlarini faqat ikkilik va XML bilan cheklaydi. Bundan tashqari, seriyalash natijalarini ko'rsatadigan ba'zi sinov holatlari mavjud.[20] GNUstep-da mos keladigan dastur mavjud, bu esa chiqish formatlarini cheklamaydi.[21]

Yo'l tili

Kabi mulk ro'yxatlari uchun yagona, standartlashtirilgan yo'l tili mavjud emas XPath XML uchun ishlaydi, ammo turli xil dasturlarda ishlatiladigan norasmiy konventsiyalar mavjud.

  • Nuqta sintaksis versiyasi klaviatura Apple-ning argumenti plutil. Bu kelib chiqishi ko'rinadi (id) - [NSObject (NSKeyValueCoding) valueForKeyPath:].[12]
  • Tomonidan boshqa format ishlatiladi PlistBuddy, indeksatsiya qilish uchun yo'g'on ichak sintaksisi bilan.[11]

Ikkala format ham ajratuvchi belgisi bilan kalitni ifoda eta olmaydi.

Boshqa platformalar

Windows

Apple yoki Darvin tizimlarida, shu jumladan iOS va macOS-larda eng taniqli bo'lishiga qaramay, plist fayllar iTunes kabi Apple dasturiy ta'minotlari Windows kompyuterlarida ham mavjud.[22] yoki Safari[23] o'rnatilgan. Windows-da fayllar odatda ikkilik fayllar,[24] garchi ba'zi ilovalar boshqa formatdagi PLIST fayllarini yaratishi mumkin.

Windows-da Apple plist fayllari foydalanuvchining uy katalogida saqlanadi % USERPROFILE% AppData Rouming Apple Computer. Windows-dagi ushbu plist fayllar odatda Windows ro'yxatga olish kitobidan foydalanish o'rniga afzalliklar va boshqa ma'lumotlarni saqlaydi.

Windows-da PLIST fayllarini tahrirlash imkoniyatlari macOS-dagi kabi keng emas. Agar fayl XML yoki JSON formatida bo'lsa, masalan, matn muharriri Notepad ++ foydalanish mumkin. Apple plutil.exe-ni "Apple Application Support" to'plamiga yuboradi (bu uning bir qismi) iTunes ) va u macOS hamkasbi bilan bir xil.

NetBSD

2006 yilda taqdim etilgan va birinchi bilan chiqarilgan NetBSD # 4.0 (2007) - bu proplib kutubxonasi bo'lib, u yadro va foydalanuvchi o'rtasida ma'lumotlarni ketma-ketlashtirish uchun ishlatilishi mumkin. U XML plist tilining bir qismini amalga oshiradi.[25]

Proplib-ning namunali foydalanuvchilaridan biri bu sysmonning ikkinchi qayta ko'rib chiqilishi envsys uchun ramka tizimni monitoring qilish.

NetBSD-ning proplib kutubxonasi 2010 yilda DragonFly-ga ko'chirilgan va shu vaqtdan beri mavjud DragonFly BSD # 2.8.[26]

O'zaro faoliyat platforma

  • Facebook ning ochiq manbali reimplementatsiyasi Xkod build tool, xcbuild, shuningdek, plist kutubxonasini o'z ichiga oladi plutil va PlistBuddy. Ushbu platformalararo kommunal xizmatlar yozilgan C ++.[27]
  • The Python dasturlash tili o'rnatilgan narsaga ega plistlib plist fayllarni o'qish va yozish uchun modul, Apple XML-da yoki ikkilik (Python 3.4 dan beri).[28] ProperTree - bu kutubxonadan foydalanadigan o'zaro faoliyat platformalar muharriri.[29]
    • Uchinchi tomon kutubxonasi ccl-bplist NSKeyedArchiver UID-larini boshqarish uchun qo'shimcha imkoniyatga ega.[19]
  • Boring bor plist To'rt turdagi plistlarni qo'llab-quvvatlaydigan to'plam: OpenStep matni, GNUStep matni, Apple XML va Apple Binary. Bundan tashqari, UID-lar XML va ikkilik formatlarda ishlaydi.[2]

Shuningdek qarang

Izohlar

  1. ^ MacOS-ning qiziqishi pl Agar standart kirishni qo'lda yozib, uni tugatgan bo'lsa, adashgan "D" belgisini stdout-ga qo'yadi. ^ D..
  2. ^ The tavsif Obj-C fondida NSData lug'at vakolatini qaytarishi bilan buggy. Ochiq manbali Swift Foundation-da bunday muammo yo'q.

Adabiyotlar

  1. ^ "NSString sinf ma'lumotnomasi: propertyListFromStringsFileFormat". GNUstep. Olingan 17 fevral, 2020.
  2. ^ a b "Paketlar ro'yxati". godoc.org. Unmarshal OpenStep xususiyatlar ro'yxatiga duch kelganda, bo'shashgan tahlil rejimiga o'tiladi: OpenStep xususiyatlar ro'yxati oddiy eski ma'lumotlarni faqat satr sifatida saqlashi mumkin, shuning uchun biz kerak bo'lgan joyda tamsayı, suzuvchi nuqta, mantiqiy va sana qiymatlarini tiklashga harakat qilamiz.
  3. ^ "Eski uslubdagi ASCII mulk ro'yxatlari". Apple Developer (mulk ro'yxati dasturlash bo'yicha qo'llanma). Olingan 16 fevral, 2020.
  4. ^ a b sukut bo'yicha (1) – Linux Umumiy buyruqlar Qo'lda
  5. ^ Frit-Makdonald, Richard (2004). "NSPropertyListSerialization sinf hujjatlari". GNUstep.
  6. ^ "Mulk ro'yxatlari". GNUstepWiki.
  7. ^ "NSSerialization hujjatlar". GNUstep. manba kodi
  8. ^ "Turlari va doimiylari: NSPropertyListFormat". gnustep.org.
  9. ^ pldes (1) – Linux Umumiy buyruqlar Qo'lda
  10. ^ "appleexaminer.com:" PLIST fayllari"". Arxivlandi asl nusxasi 2014 yil 19 fevralda. Olingan 27 fevral, 2014.
  11. ^ a b PlistBuddy (8) – Darvin va macOS Tizim menejeri Qo'lda
  12. ^ a b plutil (1) – Darvin va macOS Umumiy buyruqlar Qo'lda
  13. ^ pl (1) – Darvin va macOS Umumiy buyruqlar Qo'lda
  14. ^ "AppleScript: mulk ro'yxatlari". 2009 yil 24 aprel. Arxivlangan asl nusxasi 2009 yil 24 aprelda.
  15. ^ a b "CF / CFBinaryPList.c". Apple Open Source. Olingan 6 yanvar, 2020.
  16. ^ plist (5) – Darvin va macOS Fayl formatlari Qo'lda
  17. ^ a b Caithness, Alex (2012 yil 4-aprel). "Geek post: NSKeyedArchiver fayllari - ular nima va ularni qanday ishlatishim mumkin?". Raqamli tergov. Listing 2-dagi CF $ UID ma'lumotlar turi - bu bitta tugmachali lug'at ("CF $ UID"), so'ngra tamsayı raqami keltiriladi (bu tartib siz mulk ro'yxati XML-da ko'rsatilganida ko'rasiz; xom ikkilik format "UID" ma'lumotlar turi lug'at tuzilishini talab qilmaydigan alohida ob'ektdir). Ushbu ma'lumotlar turlari "$ objects" qatoridagi boshqa ob'ektga havolani anglatadi. CF $ UID soni massivning o'rnini beradi.
  18. ^ "NSCoder.html". OpenStep spetsifikatsiyasi.
  19. ^ a b CCLForensics Group (2020 yil 15-yanvar). "cclgroupltd / ccl-bplist". GitHub.
  20. ^ "apple / swift-corelibs-foundation: NSKeyedArchiver.swift". GitHub. testlar
  21. ^ "NSKeyedArchiver hujjatlari". GNUstep hujjatlari. Olingan 23 fevral, 2020. manba kodi
  22. ^ "iTunes zaxira nusxasi - iPhone Wiki". www.theiphonewiki.com.
  23. ^ "Apple Safari veb-brauzeri o'z sozlamalarini Windows-da qanday saqlaydi?". Super User.
  24. ^ "GitHub - microsoft / NSPlist: NSPlist". 2019 yil 3-may - GitHub orqali.
  25. ^ Jeyson R. Torp. "proplib - mulk konteyner ob'ekti kutubxonasi". NetBSD. Xulosa.
  26. ^ Jeyson R. Torp. "proplib - mulk konteyner ob'ekti kutubxonasi". DragonFly BSD. Xulosa.
  27. ^ "facebook / xcbuild / Libraries / plist". GitHub. Olingan 17 fevral, 2020.
  28. ^ "plistlib - Mac OS X .plist fayllarini yaratish va tahlil qilish".. Python 3 hujjatlari. Olingan 6 yanvar, 2020.
  29. ^ "corpnewt / ProperTree: pythonda yozilgan o'zaro faoliyat platforma GUI plist muharriri". GitHub. 2020 yil 17-fevral. Olingan 17 fevral, 2020.

Tashqi havolalar