2013-02-11 5 views
5

Czy możliwe jest zintegrowanie prawdziwego (nie zakodowanego w znakach) bloku binarnego (najlepiej ze zdefiniowaną kolejnością bajtów i długością słowa) w pliku XML?Prawdziwy blok binarny w XML (C++)?

+2

Ciekawe, w jaki sposób można by wykryć koniec bloku? –

+1

Czy próbowałeś z sekcją ''? Choć wątpię, że możesz mieć "prawdziwe" dane binarne, ponieważ XML jest w zasadzie formatem tekstowym. –

+1

@ThomasMatthews Myślę, że długość bloku powinna być zakodowana w jakimś atrybucie. Specyfikacja [format pliku VTK] (http://www.vtk.org/VTK/img/file-formats.pdf) pozwala na coś podobnego. – Massimiliano

Odpowiedz

7

Nie, nie jest to możliwe przy zachowaniu standardu XML.

Dopuszczalny zestaw znaków w analizowanej jednostce XML to tabulacja, powrót karetki, podawanie do wiersza i poprawne znaki Unicode. Istnieje wiele bajtów, które wykraczają poza ten dopuszczalny zakres, co najwyżej 0x0, ale także 0x1 - 0x8, 0xB - 0xC i 0xE - 0x1F (to jest większość wartości, które są klasycznymi znakami sterującymi ASCII).

Nie można nawet uwzględnić ich jako elementów numerycznych, ponieważ nie są one poprawnymi znakami. to znaczy, dodaje nie zweryfikuje:

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

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