aspose.info
TH

หนึ่ง - รูปแบบไฟล์ Microsoft OneNote

อัปเดตเมื่อ

ไฟล์ .ONE คืออะไร?

ไฟล์ที่แสดงด้วยนามสกุล .ONE สร้างขึ้นโดยแอปพลิเคชัน Microsoft OneNote OneNote ช่วยให้คุณรวบรวมข้อมูลโดยใช้แอปพลิเคชันราวกับว่าคุณกำลังใช้แผ่นร่างเพื่อจดบันทึก ไฟล์ OneNote สามารถมีองค์ประกอบต่างๆ ที่สามารถวางไว้ในตำแหน่งที่ไม่คงที่บนหน้าเอกสาร องค์ประกอบเหล่านี้อาจมีข้อความ ลายมือดิจิทัล และวัตถุที่คัดลอกมาจากแอปพลิเคชันอื่นๆ รวมถึงรูปภาพ ภาพวาด และคลิปมัลติมีเดีย (เสียง/วิดีโอ) ขณะนี้ Microsoft เสนอ OneNote เวอร์ชันออนไลน์โดยเป็นส่วนหนึ่งของ Office365 ซึ่งสามารถแชร์โน้ตกับผู้ใช้ OneNote รายอื่นผ่านทางอินเทอร์เน็ตได้

ข้อมูลจำเพาะรูปแบบไฟล์ .ONE

รูปแบบไฟล์ OneNote มีวิธีที่มีประสิทธิภาพในการแสดงบันทึกดิจิทัลเป็นชุดของส่วนและหน้าตามลำดับชั้น แต่ละหน้ามีเนื้อหาที่ผู้ใช้กำหนดในโครงสร้างเฉพาะสำหรับการแสดงด้วยรูปแบบไฟล์ Document Object Model (DOM) แบบจำลองข้อมูลสำหรับรูปแบบนี้มีดังต่อไปนี้

ภาพรวมโครงสร้าง

ตามที่แสดงในแบบจำลองข้อมูลสำหรับรูปแบบไฟล์ OneNote เอกสาร OneNote ประกอบด้วยองค์ประกอบต่างๆ

ส่วน

ส่วนคือคอนเทนเนอร์บนสุดในไฟล์ OneNote ที่ประกอบด้วยองค์ประกอบต่างๆ ในนั้นเพิ่มเติม เช่น:

  • หน้า
  • ข้อมูลเมตา
  • คุณสมบัติ

ข้อมูลเมตาและคุณสมบัติรวมถึงชื่อส่วน การระบุหน้าที่มีอยู่ในส่วน และลำดับที่หน้าเหล่านั้นปรากฏ คำว่า “ส่วน” หมายถึงหน้าทั้งหมดที่อยู่ในส่วนและการแสดงข้อมูลนั้นในไฟล์จัดเก็บการแก้ไขของ OneNote® ซึ่งมีนามสกุลไฟล์เป็น .one

หน้าหนังสือ

เนื้อหาที่ผู้ใช้กำหนดในเอกสาร OneNote จะอยู่ภายในหน้า ข้อมูลหน้าประกอบด้วยข้อความ รายการ ตาราง ชื่อหน้า รูปภาพ และแท็กบันทึกย่อ หน้าประกอบด้วยออบเจกต์เค้าร่างซึ่งออบเจกต์ที่มีอยู่ส่วนใหญ่ถูกเพิ่มเข้าไป แต่ละหน้าสามารถกำหนดชื่อเพื่อสื่อความหมายได้ และสามารถเพิ่มวัตถุลงในหน้าได้โดยตรงเช่นกัน หน้าสามารถมีหน้าย่อยเพิ่มเติมในระบบลำดับชั้น

คุณสมบัติและชุดคุณสมบัติ

เนื้อหา OneNote ประกอบด้วยคุณสมบัติ ชุดคุณสมบัติ และวัตถุข้อมูลไฟล์ ชุดคุณสมบัติคือชุดของคุณสมบัติที่แสดงถึงเนื้อหาบางประเภท ออบเจกต์ข้อมูลไฟล์คือบล็อกของข้อมูลไบนารีที่มีรูปภาพ ไฟล์ฝังตัว หรือเนื้อหาเสียง/วิดีโอ

สมุดบันทึก OneNote

สมุดบันทึกคือชุดของไฟล์ส่วนที่จัดเก็บไว้ในไดเร็กทอรีเดียวกัน คอลเลกชันของคุณสมบัติใช้เพื่อระบุการตั้งค่า เช่น ลำดับของส่วนต่างๆ ภายในสมุดบันทึกและสีของสมุดบันทึก

โครงสร้างไฟล์

ไฟล์จัดเก็บการแก้ไขต้องขึ้นต้นด้วยโครงสร้าง Header ส่วนที่เหลือของไฟล์ถูกแบ่งพาร์ติชันเป็นบล็อกขนาดไบต์ โดยที่ฟิลด์ที่อ้างอิงถึงขนาดและโครงสร้างของแต่ละบล็อกจะระบุ สามารถเข้าถึงบล็อกได้หากถูกอ้างอิงโดยโครงสร้าง Header หรือหากมีการอ้างอิงโดยฟิลด์ในบล็อกอื่นที่เข้าถึงได้ ต้องละเว้นข้อมูลที่อยู่นอกโครงสร้าง Header และบล็อกที่เข้าถึงได้

โครงสร้างทั้งหมดจัดชิดกันในขอบเขต 1 ไบต์ จำนวนเต็มทั้งหมดจะถูกเซ็นชื่อ เว้นแต่จะระบุไว้เป็นอย่างอื่น ช่องทั้งหมดเป็น little-endian เว้นแต่จะระบุไว้เป็นอย่างอื่น

หัวข้อ

ส่วนหัวของไฟล์ .ONE ประกอบด้วยส่วนที่มีรหัสเฉพาะและฟิลด์ที่แตกต่างกันสำหรับการแสดงข้อมูลไฟล์ดังต่อไปนี้:

`guidFileType (16 ไบต์):’ GUID ที่ระบุประเภทของไฟล์จัดเก็บการแก้ไข ต้องเป็นหนึ่งในค่าจากตารางต่อไปนี้

รูปแบบไฟล์ค่า
.one{7B5C52E4-D88C-4DA7-AEB1-5378D02996D3}
.onetoc2{43FF2FA1-EFD9-4C76-9EE2-10EA5722765F}

`guidFile (16 ไบต์):’ GUID ที่ระบุตัวตนของไฟล์จัดเก็บการแก้ไขนี้ ควรมีเอกลักษณ์เฉพาะตัวทั่วโลก

guidLegacyFileVersion (16 ไบต์): ต้องเป็น “{00000000-0000-0000-0000-000000000000}” และต้องละเว้น

`guidFileFormat (16 ไบต์):’ GUID ที่ระบุว่าไฟล์นั้นเป็นไฟล์จัดเก็บการแก้ไข ต้องเป็น “{109ADD3F-911B-49F5-A5D0-1791EDC8AED8}”

`ffvLastCodeThatWroteToThisFile (4 ไบต์):’ จำนวนเต็มที่ไม่ได้ลงชื่อ ต้องเป็นค่าใดค่าหนึ่งในตารางต่อไปนี้ ขึ้นอยู่กับประเภทไฟล์

รูปแบบไฟล์ค่า
.หนึ่ง0x0000002A
.onetoc20x0000001B

ffvOldestCodeThatHasWrittenToThisFile (4 ไบต์): จำนวนเต็มที่ไม่ได้ลงชื่อ ต้องเป็นหนึ่งในค่าในตารางต่อไปนี้ ขึ้นอยู่กับรูปแบบไฟล์ของไฟล์นี้

รูปแบบไฟล์ค่า
.หนึ่ง0x0000002A
.onetoc20x0000001B

ffvNewestCodeThatHasWrittenToThisFile (4 ไบต์): จำนวนเต็มที่ไม่ได้ลงชื่อ ต้องเป็นหนึ่งในค่าในตารางต่อไปนี้ ขึ้นอยู่กับรูปแบบไฟล์ของไฟล์นี้

รูปแบบไฟล์ค่า
.หนึ่ง0x0000002A
.onetoc20x0000001B

ffvOldestCodeThatMayReadThisFile (4 ไบต์): จำนวนเต็มที่ไม่ได้ลงชื่อ ต้องเป็นหนึ่งในค่าในตารางต่อไปนี้ ขึ้นอยู่กับรูปแบบไฟล์ของไฟล์นี้

รูปแบบไฟล์ค่า
.หนึ่ง0x0000002A
.onetoc20x0000001B

fcrLegacyFreeChunkList (8 ไบต์): โครงสร้าง FileChunkReference32 ที่ต้องมีค่าเป็น “fcrZero”

`fcrLegacyTransactionLog (8 ไบต์):’ โครงสร้าง FileChunkReference32 ที่ต้องเป็น “fcrNil”

cTransactionsInLog (4 ไบต์): จำนวนเต็มที่ไม่ได้ลงนามซึ่งระบุจำนวนธุรกรรมในบันทึกธุรกรรม ต้องไม่เป็นศูนย์

`cbLegacyExpectedFileLength (4 ไบต์):’ จำนวนเต็มที่ไม่ได้ลงนามซึ่งต้องเป็นศูนย์และต้องละเว้น

`rgbPlaceholder (8 ไบต์):’ จำนวนเต็มที่ไม่ได้ลงนามซึ่งต้องเป็นศูนย์และต้องละเว้น

`fcrLegacyFileNodeListRoot (8 ไบต์):’ โครงสร้าง FileChunkReference32 ที่ต้องเป็น “fcrNil”

`cbLegacyFreeSpaceInFreeChunkList (4 ไบต์):’ จำนวนเต็มที่ไม่ได้ลงชื่อซึ่งต้องเป็นศูนย์ และต้องละเว้น

`fNeedsDefrag (1 ไบต์):’ ต้องละเว้น

fRepairedFile (1 ไบต์): ต้องละเว้น

`fNeedsGarbageCollect (1 ไบต์):’ ต้องละเว้น

fHasNoEmbeddedFileObjects (1 ไบต์): จำนวนเต็มที่ไม่ได้ลงนามซึ่งต้องเป็นศูนย์และต้องละเว้น

`guidAncestor (16 ไบต์):’ GUID ที่ระบุฟิลด์ Header.guidFile ของไฟล์สารบัญที่กำหนดโดยตารางต่อไปนี้:

รูปแบบไฟล์สารบัญตำแหน่งของไฟล์สารบัญ
ไฟล์ส่วน - .Oneไฟล์สารบัญอยู่ในไดเร็กทอรีเดียวกันกับไฟล์นี้
ไฟล์สารบัญ - .onetoc2ไฟล์สารบัญอยู่ในไดเรกทอรีหลักของไฟล์นี้

ถ้า GUID คือ {00000000-0000-0000-0000-000000000000} ช่องนี้จะไม่อ้างอิงไฟล์สารบัญ

crcName (4 ไบต์): จำนวนเต็มที่ไม่ได้ลงนามซึ่งระบุค่า CRC ของชื่อไฟล์จัดเก็บการแก้ไขนี้ ชื่อคือตัวแทน Unicode ของชื่อไฟล์ที่มีนามสกุลและอักขระ null เพิ่มเติมที่ส่วนท้าย CRC นี้คำนวณโดยใช้อัลกอริทึม CRC สำหรับไฟล์ .one เสมอ โดยไม่คำนึงถึงรูปแบบไฟล์จัดเก็บการแก้ไขนี้

`fcrHashedChunkList (12 ไบต์):’ โครงสร้าง FileChunkReference64x32 ที่ระบุการอ้างอิงไปยัง FileNodeListFragment แรกในรายการอันที่แฮช ถ้าค่าของโครงสร้าง FileChunkReference64x32 คือ “fcrZero” หรือ “fcrNil” แสดงว่าไม่มีรายการกลุ่มที่แฮช

`fcrTransactionLog (12 ไบต์):’ โครงสร้าง FileChunkReference64x32 ที่ระบุการอ้างอิงถึงโครงสร้าง TransactionLogFragment แรกในบันทึกธุรกรรม ค่าของฟิลด์ fcrTransactionLog ต้องไม่เป็น “fcrZero” และต้องไม่เป็น “fcrNil”

`fcrFileNodeListRoot (12 ไบต์):’ โครงสร้าง FileChunkReference64x32 ที่ระบุการอ้างอิงไปยังรายการโหนดไฟล์รูท ค่าของฟิลด์ fcrFileNodeListRoot ต้องไม่เป็น “fcrZero” และต้องไม่เป็น “fcrNil”

`fcrFreeChunkList (12 ไบต์):’ โครงสร้าง FileChunkReference64x32 ที่ระบุการอ้างอิงถึงโครงสร้าง FreeChunkListFragment แรก ถ้าค่าของโครงสร้าง FileChunkReference64x32 เป็น “fcrZero” หรือ “fcrNil” แสดงว่าไม่มีรายการอันว่าง

cbExpectedFileLength (8 ไบต์): จำนวนเต็มที่ไม่ได้ลงนามซึ่งระบุขนาดเป็นไบต์ของไฟล์จัดเก็บการแก้ไขนี้

cbFreeSpaceInFreeChunkList (8 ไบต์): จำนวนเต็มที่ไม่ได้ลงนามซึ่งควรระบุขนาดของพื้นที่ว่างที่ระบุโดยรายการอันว่างเป็นไบต์

`guidFileVersion (16 ไบต์):’ GUID เมื่อค่าของฟิลด์ cTransactionsInLog หรือฟิลด์ guidDenyReadFileVersion มีการเปลี่ยนแปลง guidFileVersion จะต้องเปลี่ยนเป็น GUID ใหม่

nFileVersionGeneration (8 bytes): เลขจำนวนเต็มที่ไม่ได้ลงนามซึ่งระบุจำนวนครั้งที่ไฟล์มีการเปลี่ยนแปลง ต้องเพิ่มขึ้นเมื่อฟิลด์ guidFileVersion เปลี่ยนแปลง

`guidDenyReadFileVersion (16 ไบต์):’ GUID เมื่อเนื้อหาที่มีอยู่ของไฟล์มีการเปลี่ยนแปลง โดยไม่รวมโครงสร้าง ส่วนหัว ของไฟล์และบล็อกหน่วยเก็บข้อมูลที่ไม่ได้ใช้ guidDenyReadFileVersion จะต้องเปลี่ยนเป็น GUID ใหม่

`grfDebugLogFlags (4 ไบต์):’ ต้องเป็นศูนย์ ต้องละเว้น

`fcrDebugLog (12 ไบต์):’ โครงสร้าง FileChunkReference64x32 ที่ต้องมีค่าเป็น “fcrZero” ต้องละเว้น

`fcrAllocVerificationFreeChunkList (12 ไบต์):’ โครงสร้าง FileChunkReference64x32 ที่ต้องเป็น “fcrZero” ต้องละเว้น

bnCreated (4 ไบต์): จำนวนเต็มที่ไม่ได้ลงนามซึ่งระบุหมายเลขบิลด์ของแอปพลิเคชันที่สร้างไฟล์จัดเก็บการแก้ไขนี้ ควรละเว้น

bnLastWroteToThisFile (4 ไบต์): จำนวนเต็มที่ไม่ได้ลงนามซึ่งระบุหมายเลขบิลด์ของแอปพลิเคชันที่เขียนล่าสุดไปยังไฟล์จัดเก็บการแก้ไขนี้ ควรละเว้น

bnOldestWritten (4 bytes): จำนวนเต็มที่ไม่ได้ลงนามซึ่งระบุหมายเลขบิลด์ของแอปพลิเคชันที่เก่าที่สุดที่เขียนไปยังไฟล์จัดเก็บการแก้ไขนี้ ควรละเว้น

bnNewestWritten (4 bytes): จำนวนเต็มที่ไม่ได้ลงนามซึ่งระบุหมายเลขบิลด์ของแอปพลิเคชันใหม่ล่าสุดที่เขียนไปยังไฟล์จัดเก็บการแก้ไขนี้ ควรละเว้น

rgbReserved (728 ไบต์): ต้องเป็นศูนย์ ต้องละเว้น

อ้างอิง