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]