2013-02-11 77 views
5

是否有可能將一個真正的(不是字符編碼的)二進制塊(最好具有定義的字節順序和字長)集成到一個XML文件中?XML(C++)中的實數二進制塊?

+2

有趣的是,如何將一個檢測塊的結束? – 2013-02-11 17:10:33

+1

你有沒有試過''部分?雖然我懷疑你可以有'真正的'二進制數據,因爲XML基本上是一種面向文本的格式。 – 2013-02-11 17:20:18

+1

@ThomasMatthews我認爲塊的長度應該用某種屬性編碼。 [VTK文件格式](http://www.vtk.org/VTK/img/file-formats.pdf)規範允許類似的東西。 – Massimiliano 2013-02-11 18:08:02

回答

7

不,這是不可能的,而保持在xml標準。

解析的XML實體中允許的字符集是製表符,回車符,換行符和有效的unicode字符。有許多字節落在這個允許的範圍之外,最突出的是0x0,但也有0x1-0x8,0xB-0xC和0xE-0x1F(即大多數是典型的ASCII控制字符值)。

甚至不能將它們包含爲數字實體,因爲它們不是有效的字符。即,以下將無法驗證:

<test> 
    Testing ^A: &#x1; 
</test> 

http://www.w3.org/TR/2006/REC-xml11-20060816/#charsets