Zum Inhalt springen

Diskussion:Unicode Transformation Format

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 20. Dezember 2009 um 12:13 Uhr durch Silvicola (Diskussion | Beiträge) (Neuer Abschnitt Unverständliche Formulierung im Abschnitt „UTF-EBCDIC“). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Alte Versionsgeschichte

Versionsgeschichte des Abschnitts "Unicode Transformationsformate" bis zum 05.12.2004, 19:14 Uhr:

  • 23:18, 4. Dez 2004 . . 217.235.235.203 (/* UTF-16 */)
  • 23:14, 4. Dez 2004 . . 217.235.235.203 (/* UTF-16 */)
  • 17:39, 4. Dez 2004 . . Pjacobi (/* UTF-8 */)
  • 16:38, 4. Dez 2004 . . 80.139.43.250 (/* UTF-32 */)
  • 16:37, 4. Dez 2004 . . 80.139.43.250 (/* UTF-32 */)
  • 03:11, 4. Dez 2004 . . 217.235.227.250 (/* UTF-16 */)
  • 03:10, 4. Dez 2004 . . 217.235.227.250 (/* UTF-16 */)
  • 01:33, 4. Dez 2004 . . 217.235.227.250 (/* Unicode Transformation Formate */)
  • 01:32, 4. Dez 2004 . . 217.235.227.250 (/* UTF-16 */)
  • 01:29, 4. Dez 2004 . . 217.235.227.250 (/* UTF-32 */)
  • 01:24, 4. Dez 2004 . . 217.235.227.250 (/* UTF-16 (UCS-2) */)
  • 00:59, 4. Dez 2004 . . 217.235.227.250 (/* UTF-32 */)
  • 00:38, 4. Dez 2004 . . 217.235.227.250 (/* UTF-32 (UCS-4) */)
  • 00:37, 4. Dez 2004 . . 217.235.227.250 (/* UTF-32 (UCS-4) */)
  • 17:45, 3. Dez 2004 . . 62.245.168.210 (/* UTF-32 (UCS-4) */)
  • 17:41, 3. Dez 2004 . . 62.245.168.210 (/* UTF-32 (UCS-4) */)
  • 17:27, 2. Dez 2004 . . 62.245.168.210 (/* Unicode Transformation Formate */)
  • 17:24, 2. Dez 2004 . . 62.245.168.210 (/* Unicode Transformation Formate */)
  • 01:21, 2. Dez 2004 . . 217.235.224.31 (/* Unicode Transformation Formate */)
  • 19:58, 1. Dez 2004 . . Jan G (interwiki raus (kommt an falscher Stelle vor – in UTF bereits neu eingetragen).)
  • 19:53, 1. Dez 2004 . . Jan G (/* UTF-7 (eingestellt) */ Anführungszeichen)
  • 12:09, 26. Nov 2004 . . 80.134.167.8 (/* Unicode Transformation Formats */)
  • 14:21, 18. Nov 2004 . . 141.71.1.191 (/* UTF-7 (eingestellt) */)
  • 14:21, 18. Nov 2004 . . 141.71.1.191 (/* UTF-7 (eingestellt) */)
  • 09:30, 29. Okt 2004 . . 194.77.39.25 ()
  • 15:53, 27. Okt 2004 . . 145.253.32.3 (/* Unicode Transformation Formats */)
  • 12:28, 26. Okt 2004 . . 195.138.51.10 (/* UTF-16 (UCS-2) */)
  • 15:59, 23. Okt 2004 . . 80.130.54.77 (/* Unicode Transformation Formats */ typo)
  • 16:42, 20. Okt 2004 . . 212.144.142.113 (/* Unicode Transformation Formats */)
  • 02:40, 20. Okt 2004 . . 212.202.73.77 (/* Unicode Transformation Formats */)
  • 12:37, 19. Okt 2004 . . 80.128.103.237 (/* UTF-32 */ Kommentar vergessen sorry! Es muss "Das heißt" statt "Dass heisst" heißen.)
  • 12:32, 19. Okt 2004 . . 80.128.103.237 (/* UTF-32 */)
  • 17:25, 17. Okt 2004 . . 212.202.73.77 (Komma korrigiert)
  • 15:24, 17. Okt 2004 . . Pjacobi (hallo anon, bitte beim nächstenmal auf die diskussion gucken)
  • 15:12, 17. Okt 2004 . . Pjacobi (/* UTF-7 - UCS-2 */)
  • 14:22, 17. Okt 2004 . . 212.202.73.77 (/* Unicode Transformation Formats */)
  • 13:10, 17. Okt 2004 . . 212.202.73.77 (/* UTF-8 - UCS-2 (UCS-4) */)
  • 23:23, 16. Okt 2004 . . 212.202.73.77 (/* Unicode Transformation Formats */)
  • 22:06, 16. Okt 2004 . . 212.202.73.77 (/* Unicode Transformation Formats */)
  • 21:57, 16. Okt 2004 . . Pjacobi (/* Unicode Transformation Formats */)
  • 21:21, 16. Okt 2004 . . 212.202.73.77 (/* UTF-16 - UCS-2 */)
  • 20:29, 16. Okt 2004 . . 212.202.73.77 (/* Unicode Transformation Formats */)
  • 20:10, 16. Okt 2004 . . 212.202.73.77 (/* Unicode Transformation Formats */)
  • 20:01, 16. Okt 2004 . . 212.202.73.77 (/* UTF-8 */)
  • 19:54, 16. Okt 2004 . . 212.202.73.77 (/* UTF-8 */)
  • 19:48, 16. Okt 2004 . . 212.202.73.77 (/* Unicode Transformation Formats */)
  • 19:10, 16. Okt 2004 . . 212.202.73.77 ()
Was hat das auf einer Diskussionsseite zu suchen? --RokerHRO 07:56, 14. Dez 2005 (CET)
Aus Lizenzgründen (GFDL) ist dies die alte Versionsgeschichte, aus einer Zeit, als dieser Artikel eine Vorlage war. --Pjacobi 19:10, 29. Mai 2006 (CEST)Beantworten
Das versteh wer will - mit den Artikel betreffender Diskussion hat es eigentlich trotzdem nichts zu tun. --Nihetsix 23:25, 27. September 2006
Nihetsix, Pjacobi meint wohl, dass der Artikel zwischenzeitlich gelöscht wurde, weil über die Versionshistorie urheberrechtlich geschützte Texte erreichbar waren, deren Inhaber sich möglicherweise beschwert hat. Da wurde der Artikel kurzerhand gelöscht und mit dem zuletzt präsenten Inhalt neu eingestellt und die Versionsgeschichte hier festgehalten (was zugegebenermaßen wenig bringt, weil dort kaum Informationen vorhanden sind). So würde zumindest meine Theorie lauten, als ich das da sah. Überprüft hab ich sie allerdings nicht. --Benji 16:22, 14. Jun. 2007 (CEST)Beantworten

Implementierung

Hinzugefügt, siehe Diskussion:Unicode Programmierung - Implementierung. Lehrig 21:12, 29. Mai 2006 (CEST)Beantworten

Das war jetzt nicht so nett, den Teil mit den ganzen bereits angesprochenen Fehlern reinzuklatschen. Ich habe mal so notdürftig überarbeitet, aber es gibt jetzt Doppelungen zum Hauptteil des Artikels.
Und warum soll jetzt die Qt-Bibliothek einzeln herausgestellt werden? Als abschreckendes Beispiel wegen Nichtkonformität?
Pjacobi 22:29, 29. Mai 2006 (CEST)Beantworten

Mit dem jetzigen Artikel bin ich nicht so einverstanden, da wichtige Punkte einfach herausgestrichen wurden und andere für Programmierer weniger wichtige Details reingekommen sind. Ich dachte die Punkte wären in Unicode Diskussion besprochen worden.

  • Austausch über Netzwerke
  • Kompatibilität zu alten Programmen
  • Verweise auf Implementierungen wie Qt (gerne auch mehr)
  • Vergleich mit Escape Sequenzen, wie bei Druckern oder Terminals
  • ...

Lehrig 07:58, 31. Mai 2006 (CEST)Beantworten

Es sollten auch einmal andere Stimmen, als die von Pjacobi hinzugezogen werden. Damit die Diskussion nicht in eine Schieflage kommt. Lehrig 08:04, 31. Mai 2006 (CEST)Beantworten
Wenn Du auf Implementierungen verweisen willst, musst Du auch etwas relevantes darüber aussagen können, z.B. ob es eine konformante oder eine nicht konformante Implementation ist.
Der Vergleich zu Escape-Sequenzen ist weniger passend als der Wikilink zu Multibyte Character Sets.
Im Artikel steht bereits Anwendungen, die ausschließlich den ASCII-Zeichensatz verwenden, funktionieren unverändert auch mit UTF-8 -- durch das Anklatschen des neuen Abschnitts sind Doppelungen entstanden und Du musst auch mal weiter oben schauen.
Pjacobi 09:12, 31. Mai 2006 (CEST)Beantworten
Im Prinzip ist der ganze neue Abschnitt unten redundant zum bisherigen Artikel. --Pjacobi 09:13, 31. Mai 2006 (CEST)Beantworten

Vorschlag UTF-8

Zeichen Codes mit einem Wert von weniger als 128 werden in UTF-8 als ASCII-Code dargestellt. ASCII-Zeichen benötigen also ein Octet. Alle weiteren Zeichen werden entsprechend eines relativ aufwendigen Verfahrens als Folge von 2 oder 4 Octets codiert. Alle Zeichen in dieser Folge haben einen Wert von 128-255. Das höchstwertige Bit ist also gesetzt. Der UTF-8 Code kann in UTF-16 bzw. UTF-32 Code verlustfrei ungewandelt werden bzw. aus diesen Codierungen in UTF-8 Code umgerechnet werden. Dazu gibt es entsprechende Bibliotheken. UTF-8 hat gegenüber den anderen Codierungsverfahren den Vorteil, daß er aus einem einfachen Character String besteht (Octet-Folge). Da viele ältere Programme mit solchen einfachen Strings arbeiten, können diese vergleichsweise einfach auf UTF-8 erweitert werden, wohingegen eine Umstellung auf UTF-16 bzw. UTF-32 wesentlich aufwändiger ist. Zusätzlich hat UTF-8 den Vorteil, daß dermassen codierte Strings einfach über Netzwerke übertragen werden können, ohne sich um möglicherweise unterschiedliche Byte Reihenfolge kümmern zu müssen.

"Implementierung" so wie es jetzt ist kann gestrichen werden. Die bisherigen Ausführungen zu Unicode sind aber sehr allgemein gehalten. Den obigen Absatz würde ich gerne irendwo an prominenter Stelle unterbringen, da er meiner Meinung nach für Programmierer mehr bringt. PS: Das war der letzte Vorschlag, bevor ich von eifrigen Admins vergrault werde. Lehrig 19:48, 31. Mai 2006 (CEST)Beantworten

Könnte der bisherige UTF-8 Abschnitt hierdurch ersetzt werden ? Wie würdet Ihr den Abschnitt umarbeiten ? Lehrig 09:15, 1. Jun 2006 (CEST)

Von reinen Geschmacks- oder Stilfragen abgesehen, möchte ich Dich bitten
  • 2 oder 4 Octets
zu korrigieren in
  • 2 bis 4 Octets.
An zweiter Stelle kämen Zweifel an:
relativ aufwendigen Verfahrens
aber das würde mir keine schlaflosen Nächte bereiten.
Pjacobi 10:39, 1. Jun 2006 (CEST)
OK, ich setze das jetzt rein. PS: 2 oder 4 ist eigentlich präsiser, denn 3 octets sind nicht definiert. Lehrig 12:32, 1. Jun 2006 (CEST)
Das stimmt nicht, siehe UTF-8, Beispiel Euro-Zeichen € = U+20AC = 11100010 10000010 10101100. Du lässt bei mir immer wieder starke Zweifel aufkommen, ob Deine Kenntnisse des Themas ausreichen, den Artikel zu verbessern. --Pjacobi 12:37, 1. Jun 2006 (CEST)
Aber ich bin lernfähig. Ein göttliches Wissen habe ich natürlich nicht. Aber was Programmierung angeht, ist es schon relativ gross. Siehe: [1]. Solche Details der internen UTF-8 Codierung sind für den Anwendungsprogrammierer übrigen total irrelevant. Schon mal was von "Information hiding" gehört ? Dru erweckst bei mir eher den Eindruck, ein wandelndes Lexikon selbst zu sein, das kann ich nicht. PS:Wir sollten achtungsvoll miteinander umgehen, nicht oberlehrerhaft. Lehrig 18:58, 1. Jun 2006 (CEST)
In den Artikeln zu Unicode geht es aber auch über alle Details, die eventuell für einen Anwendungsprogrammierer ausser Acht zu lassen sind. Und wir müssen jetzt auch nicht aufrechnen, wer was in Anwendungsprogrammierung und wer was in der Programmierung Unicode-verarbeitender Bibliotheken geleistet hat. Ich glaube Dir gern und unbesehen die Erfahrung in der Anwendungsprogrammierung.
Nur, warum tust Du Dir dann den Tort an, Dich in die Unicode-Details "einzumischen"? Wenn Du in Diskussionsseiten geschrieben hättest:
  • Leute, ist das nicht ein bischen Elfenbeinturm hier? Die Sicht des normalen Anwendungsprogrammierers kommt zu kurz! Ich bin aber leider nicht der absolute Unicode-Experte und möchte daher nicht ungefragt etwas umschreiben
Dann hätte das doch eine bessere Grundlage gehabt, oder? Niemand ist Experte für Alles.
Pjacobi 20:57, 1. Jun 2006 (CEST)
Ich rede doch vom aneinander vorbeireden. Ich habe ja nicht direkt was reingeschrieben, sondern einen Vorschlag auf der Diskussionsseite gebracht. Der jetzige Text sollte nach dem Wissen, was ich nach dieser Diskussion habe, aber OK sein. Reden wir doch nicht weiter aneinander vorbei. Lehrig 07:08, 2. Jun 2006 (CEST)
Muss Pjacobi aber zustimmen, siehe wweblink: http://czyborra.com/utf/#UTF-8
UTF-8 ist eine simple convertierung, vor allem gegenüber UTF-1.

Eine einfache folge von bitmaskier und shiftoperationen reicht aus. Die Anzahl der oktets ist auch länger (theoretisch bis 6 bytes, praktisch bis 4 byte). Da bisher aber die in 21bit kodierbaren zeichen wohl aus absehbare zeit für Unicode reichen werden wohl nie UTF-8 code folgen mit 5 oder 6 bytes auftauchen. 4 bytes sind aber sehr wohl für die 21bit von UTF-16 notwendig. Genaugenommen sollte der standart hier vollständig reflektiert werden, sonst ist das hier keine enzyclopedie ;-)) Peter

Kodierungsform vs. Kodierungsschema

Der Unicode-Standard lehnt mittlerweile den Begriff „Unicode Transformation Format“ ab:

For historical reasons, the Unicode encoding forms are also referred to as Unicode (or UCS) transformation formats (UTF). That term is, however, ambiguous between its usage for encoding forms and encoding schemes.

In diesem Artikel wird nicht zwischen Kodierungsform und Kodierungsschema unterschieden und unklare oder veraltete Begriffe wie „Format“ oder „Kodierungsverfahren“ verwendet. Der Einleitungssatz würde auf die Definition von Kodierungsschema passen, während sich der Rest des Artikels mit Kodierungsformen befasst. --Phst 22:53, 8. Okt. 2007 (CEST)Beantworten

UTF-16 mit 32 Bits ?

"UTF-16 ist das älteste Kodierungsverfahren, bei dem 16 oder 32 Bit zur Kodierung eines Zeichens verwendet werden." - Warum denn 32 Bits? Eine genauere Erklärung wäre bestimmt hilfreich.

UTF-16 heißt so, weil es Unicodezeichen in 16-Bit-Häppchen verpackt. Und es braucht halt für die Zeichen der BMP ein 16-Bit-Happen, für alle anderen Zeichen zwei, macht zusammen 32 Bit. --RokerHRO 21:35, 3. Apr. 2009 (CEST)Beantworten

Nichtgenormte Kodierungen für Unicode, die sich UTF nennen oder nannten

Wäre es sinnvoll, den Artikel noch um UTF-1 und UTF-7,5 zu erweitern? Diese wurden zwar nie vom Unicode-Konsortium genormt, aber die Probleme, die der Vorschlag UTF-1 hatte, der dann zur Entwicklung von UTF-8 führte, wäre vielleicht wissenswert. Ebenso die Gedanken, die zu dem Vorschlag UTF-7,5 führten. --RokerHRO 11:19, 15. Sep. 2008 (CEST)Beantworten


Rechtschreibung

Ich hatte eine kleine Änderung gemacht, welche zurückgezogen wurde. Ich verstehe nicht ganz warum, daher möchte ich mal folgenden Änderungsvorschlag diskutieren:

Original: "Mithilfe des 8. Bits kann ein längeres Unicode-Zeichen eingeleitet werden, was sich auf 2, 3 oder 4 Byte erstreckt."

Vorschlag: "Mit [der] Hilfe des 8. Bits kann ein längeres Unicode-Zeichen eingeleitet werden, welches sich [...]." Ich bitte daher um eure Mithilfe. --Dicio 00:24, 3. Apr. 2009 (CEST)Beantworten

Der ganze Absatz ist ziemlich holprig/unglücklich formuliert. Es gibt keine "längeren Unicode-Zeichen", man könnte allenfalls sagen, dass "ein gesetztes 8. Bit eine Mehrbyte-Sequenz anzeigt, die ein Unicodezeichen >U+007F in 2 bis 4 Bytes kodiert" oder sowas in der Art. Damit vermeidet man das seltsame "mit Hilfe/mithilfe" ganz. --RokerHRO 13:09, 3. Apr. 2009 (CEST)Beantworten
Wie wäre es mit folgendem Satz: „Bytes mit gesetztem höchstwertigen Bit gehören zu Unicodezeichen, die auf zwei bis vier Bytes aufgeteilt werden.“ Details stehen schließlich unter UTF-8. --Fomafix 13:20, 3. Apr. 2009 (CEST)Beantworten
Stimmt. Darum frage ich mich, warum das hier überhaupt nochmal durchgekaut werden muss... :-/ --RokerHRO 20:34, 3. Apr. 2009 (CEST)Beantworten
@ Formafix oder RokerHRO: Ich bin fachlich nicht ganz so gut bewandert in den Dingen. Wäre jemand von Euch beiden so nett die Änderung durchführen? --Dicio 01:53, 6. Apr. 2009 (CEST)Beantworten

Unverständliche Formulierung im Abschnitt „UTF-EBCDIC“

Der zentrale Schachtelsatz des Abschnitts

„Es kodiert jedoch die ersten 160 Zeichen (65 Steuerzeichen und 95 graphischen Zeichen) in jeweils einem Byte an den bei EBCDIC üblichen Positionen, soweit existent, den restlichen Unicode-Vorrat analog zu UTF-8 in jeweils zwei bis fünf Bytes (bzw. bis sieben für Codepositionen, die schon mit UTF-16 nicht darstellbar sind, und daher wohl nie mit Zeichen belegt werden), an Positionen, die bei diversen EBCDIC-Codepages mit verschiedenen graphischen Zeichen belegt sind.“

ist mir recht unverständlich. Bezieht sich der Einschub „soweit existent“ auf was vorher steht oder auf was nachher steht? Liegen also die 160 - 128 = 32 Zeichen „Zugewinn“ im 1-Byte-Bereich gegenüber UTF-8 bei EBCDIC schon auf den Codepositionen 100xxxxx (=vorher); oder ist vielmehr gemeint, dass nicht der ganze Unicode-Vorrat auf UTF-EBCDIC-Systemen auch wirklich genutzt wird (=nachher)? Der Versuch einer Klärung auf EBCDIC scheiterte leider.

Das noch im selben Satz Folgende ist auch verwirrend. Soll „Es kodiert … den restlichen Unicode-Vorrat … an Positionen, die bei diversen EBCDIC-Codepages mit verschiedenen graphischen Zeichen belegt sind“ nun heißen, so wie es wörtlich dasteht, dass auf belegte Positionen kodiert wird, und die noch dazu wechseln? Doch wohl eher nicht, oder? Und schließlich geht der restliche Unicode-Zeichenvorrat ja wohl auch über eine recht beschränkte Zahl von Graphikzeichen hinaus. Ist in Wahrheit gemeint, dass bestimmte Ziel-Positionen von der Kodierung nicht getroffen, sondern vermieden werden sollten? Oder ist doch gemeint, dass ein Teil oder sämtliche der zu kodierenden Zeichen eben EBCDIC-Graphik-Zeichen sind?

Man sollte den Schachtelsatz unbedingt in kürzere Einzelsätze zerlegen, ein Gedanke pro Satz. Die enthaltene Parenthese „(bzw. bis sieben für Codepositionen, die schon mit UTF-16 nicht darstellbar sind, und daher wohl nie mit Zeichen belegt werden)“ gehört sowieso nicht auch noch in diesen Wust hinein, sie benennt ja ohnehin nur etwas Irreales, nämlich wie weit man die Kodierung theoretisch noch ausbauen könnte, aber eben noch nicht ausgebaut hat; das wäre eher etwas für einen Nachsatz. (Man beachte, dass wegen der 3-Bit-Präfixe in Folgebytes von UTF-EBCDIC der theoretische Umfang des Zeichenvorrates hierin bei 27*(8-3) = 235 liegt, bei UTF-8 jedoch mit seinen 2-Bit-Präfixe in Folgebytes bei 27*(8-2) = 242. Bei weiterem Ausbau müsste also zuletzt auch noch die Interoperabilität verletzt werden. Man wird sich da wohl hüten.)

Da UTF-EBCDIC systematisch etwas anders vorgeht als UTF-8, habe ich die vordem formulierte Analogie sprachlich schon etwas relativiert und in ihren Auswirkungen illustriert, soweit ich's mir auf eigene Kappe zugetraut habe. (Siehe Edit-Kommentar.) Beim restlichen Knoten schaue ich, wie oben beschrieben, nicht genügend durch für eigenständige Umformulierung.

-- Silvicola Diskussion Silvicola 11:13, 20. Dez. 2009 (CET)Beantworten