我被分配了一個項目來創建一個新的二進制文件結構,用於存儲來自3D CAD/CAM軟件的座標信息。如果您指出一些關於創建新的二進制文件格式的文章或書籍,我將非常感激。感謝您的時間:)創建一個新的文件類型
回答
有一個通用的二進制(和緊湊)符號,稱爲ASN.1。它被廣泛使用,並且有關於它的書籍可用。 ASN.1可以與XML進行比較,但比XML更低一些(更原始但更靈活)。而XML,特別是上面提到的二進制XML,對你也是很有幫助的。 另外,如果您的文件中不止有一個數據序列,請參閱Solid File System作爲一個文件中多個數據流的容器。
真的很棒。你搖滾! – rwik 2010-07-06 08:54:26
我會先看看wotsit.org其他類似的文件格式。該網站適用於各種不同的文件格式,幷包含指向其規格的鏈接。
通過查看其他文件格式,您將瞭解到如何最好地格式化並呈現有關規範的信息。
+1資源不錯 – William 2010-07-05 19:45:13
如果我有相同的任務,我會檢查一些已經存在的東西,比如.OBJ,然後嘗試實現類似的東西,可能只需稍作更改。
簡短回答:不要。爲了可讀性,可擴展性和可移植性,改用XML或文本格式。
較長的答案:CAD/CAM有大量「傳統」格式。我希望使用其中的一種(如果有必要,可能會擴展它)。如果沒有什麼合適的,並且XML被認爲是膨脹和緩慢的,那麼看看Binary XML格式。
不要使用二進制,除非當然數據量是巨大的。將二進制字節擴展爲文本,然後添加所有周圍的XML標記,通常使數據的大小加倍。另外,您必須解析XML以將其全部讀回。有時,二進制格式是最佳選擇。 – 2010-07-05 23:06:54
我認爲你真正需要的是找出你需要保存的數據。然後將其加載到內存中並將該內存序列化。
這是關於serialization in C++的教程。此頁面還解決了保存數據的許多問題
- 1. 創建一個新類型
- 2. 創建一個文件類型
- 3. C創建一個新類型的int
- 4. 在python中創建一個新類型
- 5. 創建從一個文本文件與多個數據類型
- 6. 從另一個類型的日期創建一個新的類型日期列
- 7. 創建一個模型類
- 8. Vim的「:make」創建一個新文件
- 9. 如何創建一個新的文件
- 10. 創建一個新的文件錯誤
- 11. XSLT創建一個新的XML文件
- 12. Eclipse插件 - 創建一個新類
- 13. Eclipse插件:創建一個新文件
- 14. 用MIME類型application/octet-stream創建一個文本文件
- 15. 使用變量創建一個[泛型類型]的新實例
- 16. 在Objective C中,創建新類是否意味着要爲每個新類創建一個新文件?
- 17. 創建同一類型的新實例作爲另一個intsance
- 18. 當我創建一個新的Java類或AIDL文件時,Android工作室總是創建一個新的包
- 19. 在jar中創建一個新文件?
- 20. 在eclipse中創建一個新文件
- 21. Crontab創建一個新文件
- 22. 麻煩創建一個新文件
- 23. 使用android創建一個新文件
- 24. 使用JTextField創建一個新文件
- 25. 在Python中創建一個新文件
- 26. 創建一個新的文件夾到另一個新的文件夾
- 27. 創建新類型或檢查類型?
- 28. 創建類來表示一個類型
- 29. Java - 從jar文件創建一個類
- 30. 創建一個新的模型條目
無論您最終使用什麼,請務必使用包含版本號的文件頭。你永遠不知道什麼時候你需要改變文件格式。 – 2010-07-05 19:46:00