PDB (Palm OS) - PDB (Palm OS)

PDB жазуға арналған контейнер форматы болып табылады мәліметтер базасы жылы Palm OS, Garnet OS және Linux платформасына қол жеткізу. Оның құрылымы ұқсас ҚХР дерекқорлар.[1] PalmDOC электрондық кітап формат - PDB форматының арнайы нұсқасы.[2]

PDB файлының құрылымы

PDB файлында PDB тақырыбы, PDB жазба тақырыптары және бар жазбалар.[3][4]

PDB тақырыбы
PDB жазбасының тақырыбы
PDB жазбалары

PDB тақырыбы

PDB тақырыбы файлдың басында орналасқан және файлда мета ақпараттар бар:[3]

ОфсеттікАты-жөніТүріӨлшемі
0x00атыchar (Өзгертілген ISO-8859-1 )32 байт
0x20файл төлсипаттарыбүтін2 байт
0x22нұсқасыбүтін2 байт
0x24құру уақыты32 бит бүтін - PDB Datetime4 байт
0x28модификация уақыты32 бит бүтін - PDB Datetime4 байт
0x2cрезервтік уақыт32 бит бүтін - PDB Datetime4 байт
0x30модификация нөмірібүтін4 байт
0x34app_infoбүтін4 байт
0x38sort_infoбүтін4 байт
0x3cтүрібүтін4 байт
0x40жасаушыбүтін4 байт
0x44бірегей_тұқымбүтін4 байт
0x48келесі_жазба_тізімібүтін4 байт
0x4cсан_жазбаларыбүтін2 байт

PDB жазбасының тақырыбы

Әр жазбада сегіз байтты жазба тақырыбы бар, онда:[3]

атытүріөлшеміескертулер
офсеттікбүтін4 байтЖазба орналасқан PDB файлындағы байт нөмірі (нөлден бастап санау)
атрибуттарбайт1 байтЖазба атрибуттары (жою / лас / бос / құпия / санат)
Бірегей IDбүтін3 байтӘрқашан 0

PDB жазбалары

Енді жазбалардың өзі жүреді. Әдеттегі тапсырыс AppInfoArea, SortInfoArea және жазбалар болып табылады.[4]

PDB деректер кестесі

Көптеген PDB форматты файлдар 1904-01-01T00: 00: 00-ге дейінгі секундтарды санау уақытын қолданды. Бұл бастапқы Macintosh қолданатын негізгі уақыт (Mac OS 9-қа дейін). Palm OS пен Mac OS арасында ерте даму кезеңінде тығыз байланыстар болғанын атап өтуге болады. Қол қойылмаған 32 биттік бүтін санды және 1904 дәуірін қолданып, бүтін санның асып кетуі 2040 жылы болады.

Басқалары 1970-01-01T00: 00: 00 (Unix дәуірінің негізгі уақыты) аралығында есептелетінін байқауға болады және 2038 жылы толып кететін 32 биттік таңбалы санды қолданады.

Екі жүйе үшін де толып кету шамамен 30 жыл ішінде болады.

Palm OS Protein C / C ++ компиляторының тілі және кітапхана анықтамасы, авторлық құқық 2004 Palm Source 1904 жылдан бастап есептелген күндерді «ескі Пальма дәуірі», ал 1970 жылдан бастап есептелген күндерді «UNIX дәуірі» деп атайды. Ақуыз C сонымен қатар функцияларды (palm_seconds_to_time_t () және time_t_to_palm_seconds ()) екеуінің арасында түрлендіруге мүмкіндік береді.

Кейбір ақпарат көздері тіпті кейбір өте ескі файлдарда 1900 жылдан бастап есептелетін уақыт қолданылуы мүмкін (бұл Excel дәуіріне сәйкес келеді).

Ескі Palm (Mac OS 9) дәуірі мен UNIX дәуірі арасындағы қайшылық өте өкінішті, Palm OS құрылғысынан көшірілген файлды зерттеу кезінде келесі эвристика пайдалы болуы мүмкін:

  • Егер уақыттың жоғарғы биті орнатылған болса, онда бұл 1904 жылдың 1 қаңтарынан бастап есептелетін 32-разрядсыз сан
  • Егер уақыттың жоғарғы жағы анық болса, онда 1970 жылдың 1 қаңтарынан бастап 32 биттік қол қойылған сан болады.

Бұл идеяға негізделген, әйтпесе уақыт 1972 жылға дейін немесе 1970 жылға дейін болады (интерпретацияға байланысты) және PDB форматы ол кезде болмаған.

The алақан утилиталық және басқа бағдарламалық жасақтама файлдарды оқығанда осы ережені қолданады.

Сондай-ақ қараңыз

Пайдаланылған әдебиеттер

  1. ^ Н.Родс, Дж. Маккихан. Palm OS бағдарламалау, Екінші басылым, О'Рейли, 2001, ISBN  1-56592-856-3
  2. ^ MobileRead Wiki: PalmDOC форматының сипаттамасы
  3. ^ а б c Пол Дж. Лукас (1998) PDB (Pilot Database) файл пішімі. Қол жетімді: 20090308
  4. ^ а б Microfirst бағдарламалық жасақтамасы. Пилоттық жазбалар базасының форматы Мұрағатталды 2009-03-15 сағ Wayback Machine Қол жетімді: 20090308