Hallo Agon,

> (b)
>
> Dateiname: content.xml
> Spalte: 728384
> Fehler: Ungültiges Byte 4 einer 4-byte UTF-8-Sequenz.
> Fehlerstelle: ...cell table:style-name="Tabelle16.A1"
> office:value-type="string"><text:p t
>
> Bei (b) ist als fehlerhaft die
> letzte "1" deklariert in
>
>    table:style-name="Tabelle16.A1"
>
> Kann mir jemand verraten, was hier ein gültiger Wert sein bzw. was
> "Ungültiges Byte 4 einer 4-byte UTF-8-Sequenz" bedeuten könnte?

ich kann die leider nur sagen, was es mit UTF-8 auf sich hat:

Die ersten Alphabete für Fernschreiber/Computer hatten einen Umfang von 
128 (7 Bit+Prüfbit, ASCII) und später von 256 (8 Bit, ANSI) Zeichen, 
die jeweills in einem Byte Platz hatten. Damit konnten zwar die meisten 
westlichen Länder was anfangen, aber es gibt schließlich noch viele 
weitere Alphabete und sonstige Zeichensysteme. Mittlerweile gibt es das 
Unicode-Projekt, dass nahezu allen weltweit verwendeten Zeichen eine 
Codenummer zuordnet. Dazu wurden einige hundert Alphabete mit je 256 
Zeichen aufgestellt. Das Problem: Man möchte alte Computertexte lesbar 
halten und trotzdem alle Unicode-Zeichen verwenden können! so wurde 
u.a. das "8-bit  Unicode Transformation Format" entwickelt (UTF-8).

Die Codierung eines Zeichens kann bis zu vier Byte lang sein, womit sich 
über 1 Mio Zeichen kodieren lassen. Das funktioniert so:

Die Unicode-Zeichen von 0 bis 127 entsprechen dem alten ASCII und werden 
in UTF-8 einfach mit dem entsprechenden Byte geschrieben (0xxxxxxxx).

Alle anderen Zeichen werden mit mehr als einem Byte codiert:

2 Byte: 110xxxxx 10xxxxxx                    11 nutzbare Bits
3 Byte: 1110xxxx 10xxxxxx 10xxxxxx           16 nutzbare Bits
4 Byte: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx  21 nutzbare Bits

Der Algorithmus lässt theoretisch bis zu sieben Bytes lange Byteketten 
und dadurch mehrere Milliarden Zeichen zu, in seiner Verwendung als  
UTF-Kodierung  ist er aber auf den gemeinsamen Coderaum aller 
Unicode-Kodierungen beschränkt, also von 0 bis 0010 FFFF (1.114.112 
Möglichkeiten) und weist maximal vier Bytes lange Byteketten auf. 

Bezogen auf deine Fehlermeldung: Dein Programm hat dann wohl den 
Start "11110xxx" einer Unicode-Codierung gefunden und erwartet nun 3 
Bytes mit der Struktur "10xxxxxx". Offenbar ist das letzte Byte aber 
nicht korrekt. Das könntest du mit einem Hex-Editor überprüfen.

Gruß,
Michael

-- 
    ____        
   / / / / /__/      Michael Höhne /
  /   / / /  /  [EMAIL PROTECTED] /
 ________________________________/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an