2008-08-05 126 views
28

我只是在瀏覽一些關於Google的protocol buffers數據交換格式的信息。有沒有人玩過代碼,甚至創建了一個項目?協議緩衝區的任何經驗?

我目前使用的Python項目通過手在文本編輯器創建結構化內容的XML,我想知道什麼普遍的看法是在協議緩衝區作爲一個面向用戶的輸入格式。速度和簡潔的好處似乎確實存在,但在實際生成和處理數據時有很多因素。

回答

11

如果您正在尋找面向用戶的互動,堅持使用XML。目前它有更多的支持,理解和普遍接受。如果它是內部的,我會說協議緩衝區是一個好主意。

也許在幾年隨着更多的工具出來支持協議緩衝區,然後開始看向,對於一個面向公衆的API。在此之前...... JSON

11

協議緩衝區旨在優化機器之間的通信。它們實際上不是用於人機交互。此外,該格式是二進制的,所以它不能代替該用例中的XML。

我也建議JSON爲最緊湊的基於文本的格式。

3

從您的簡要說明中,聽起來像協議緩衝區不適合。 「在文本編輯器中手工創建的結構化內容」這個短語幾乎讓人大吃一驚。

但是,如果你想與未組織外部共享數據結構的高效,低延遲的通信,二進制序列化,如協議緩衝區可以提供一個巨大的勝利。

3

像PB二進制格式的另一個缺點是,如果有錯誤的單個位,整個數據文件是不能分析的,但使用JSON或XML,作爲最後的手段,你仍然可以手動修復的錯誤,因爲它是人可讀,內置冗餘..

+0

你在說什麼?我在vtd-xml上有很多徽章和其他帖子的投票...如果他們是垃圾郵件,用戶可以投票,我還沒有收到一個負面的投票......問題是,你正在爲這些決定但人們似乎並不瞭解帖子的內容 – 2009-09-14 19:51:31