In der zweiunddreißigsten Episode des Anwendungsentwickler-Podcasts
gehe ich einige Fragen aus meiner Lernzielkontrolle zum Thema
Zeichensätze und -kodierung durch. TL;DR Aus meinen
Lernzielkontrollen greife ich Grundlagen zu Zeichensätzen und
Zeichenkodierung auf, die du als Fachinformatiker:in für
Anwendungsentwicklung kennen solltest. Ein Zeichensatz legt fest,
welche Zeichen verfügbar sind; eine Zeichenkodierung beschreibt,
wie sie als Bit- oder Bytefolgen gespeichert werden. Mit ASCII, ISO
8859-1 und Unicode samt UTF-8 kannst du nachvollziehen, wie Texte
gespeichert werden und weshalb falsch gelesene Dateien Fragezeichen
oder merkwürdige Sonderzeichen zeigen. Beim Austausch von
Textdateien zwischen Windows und Linux musst du außerdem beachten,
wie die Systeme Zeilenumbrüche speichern. Kapitelmarken [00:00:20]
Lernzielkontrollen als neue Podcast-Reihe [00:02:06] Bedeutung für
Ausbildung und Fachgespräch [00:03:30] Zeichensätze und
Zeichenkodierung [00:06:40] ASCII und seine 128 Zeichen [00:07:41]
Zeilenumbrüche unter Windows und Linux [00:09:25] Ursprung von
Carriage Return und Line Feed [00:10:52] Acht-Bit-Zeichensätze und
ISO 8859-1 [00:13:35] ANSI und ASCII [00:14:25] Unicode als
weltweiter Zeichenvorrat [00:16:15] UTF-8 und mehrbyteige Zeichen
[00:18:57] Fragezeichen durch falsch gelesenes ISO [00:20:40]
Falsch dargestellte Zeichen durch falsch gelesenes UTF-8 [00:21:59]
Kodierungsfehler selbst nachstellen [00:22:53] BOM als
Kennzeichnung am Dateianfang [00:23:42] Rückblick auf die
fachlichen Inhalte [00:25:16] Weitere Lernzielkontrollen und
Ausblick auf HTML und CSS [00:25:45] Feedback und Kontakt
[00:26:23] Newsletter und Checklisten zum Abschlussprojekt Inhalt
Zeichensatz vs. Zeichencodierung ASCII: 7 Bit, lateinische
Buchstaben, Zahlen usw. Wichtige Sonderzeichen: Line Feed (\n,
Position 10), Carriage Return (\r, Position 13)
Windows-Zeilenumbrüche: \r\n, Linux: \n zusätzliches Bit -> ISO
8859 ANSI vs. ASCII Unicode vs. UTF-8 Häufige Fehler Sonderzeichen
werden als Fragezeichen dargestellt: Text ist in ISO 8859 codiert,
wird aber als UTF-8 interpretiert Sonderzeichen werden als zwei
andere Zeichen dargestellt: Text ist in UTF-8 codiert, wird aber
als ISO 8859 interpretiert Literaturempfehlungen *(direkt beim
Rheinwerk-Verlag bestellen*) Das passende Kapitel im OpenBook: 16
Weitere Datei- und Datenformate - Rheinwerk Computing ::
IT-Handbuch für Fachinformatiker Links Permalink zu dieser
Podcast-Episode RSS-Feed des Podcasts Zeichensatz – Wikipedia
Zeichenkodierung – Wikipedia American National Standards Institute
– Wikipedia American Standard Code for Information Interchange –
Wikipedia ISO 8859 – Wikipedia ISO 8859-1 – Wikipedia UTF-8 –
Wikipedia The Absolute Minimum Every Software Developer Absolutely,
Positively Must Know About Unicode and Character Sets (No Excuses!)
- Joel on Software Character Encodings For Modern Programmers Eine
ausführliche Betrachtung der Historie von Zeichensätzen: RFCE013:
ASCII Zusammenfassung Wissen aus meinen Lernzielkontrollen Wenn ich
meine IT-Azubis mündlich zu gerade behandelten Ausbildungsinhalten
befrage, können sie ihr Wissen wiederholen und festigen. Die Reihe
LZK, kurz für Lernzielkontrolle, greift solche Themen auf. Für dich
als Fachinformatiker:in für Anwendungsentwicklung gehört
Zeichenkodierung zum Grundwissen. Ob ich dazu im Fachgespräch
Fragen stelle, hängt auch von deinem Abschlussprojekt ab, etwa wenn
du Dateien zwischen Windows und Linux konvertierst. Zeichensatz und
Zeichenkodierung Wenn du Texte darstellen möchtest, bestimmt der
Zeichensatz, welche Zeichen dir zur Verfügung stehen. Dazu gehören
Buchstaben und Ziffern sowie Zeichen, die den Text steuern, etwa
Tabulatoren oder Zeilenumbrüche. Je mehr Sprachen du abbilden
möchtest, desto größer muss dieser Zeichenvorrat sein. Deutsche
Texte brauchen beispielsweise Umlaute und ß; andere Sprachen
verwenden eigene Schriftzeichen. Damit ein Computer diese Zeichen
verarbeiten kann, ordnet die Zeichenkodierung ihnen Bit- oder
Bytefolgen zu. Du kannst dir diese Zuordnung als Tabelle
vorstellen, in der zu einem Code das passende Zeichen steht. Beim
Lesen einer Datei entscheidet die gewählte Kodierung darüber,
welche Zeichen aus den gespeicherten Bytes entstehen. ASCII Aus den
1960er-Jahren stammt ASCII, ausgeschrieben American Standard Code
for Information Interchange. ASCII beschreibt einen Zeichensatz
samt Kodierung und arbeitet mit sieben Bit. Damit lassen sich 128
Zeichen darstellen. Enthalten sind die lateinischen Groß- und
Kleinbuchstaben sowie die Ziffern von 0 bis 9. Hinzu kommen Sonder-
und Steuerzeichen. Für Textdateien war ASCII lange verbreitet.
Zeilenumbrüche unter Windows und Linux Wenn du Textdateien
systemübergreifend erzeugst oder einliest, musst du die jeweiligen
Zeilenumbrüche berücksichtigen: Windows: Carriage Return und Line
Feed bilden gemeinsam den Zeilenumbruch, abgekürzt CRLF. In vielen
Programmiersprachen schreibst du dafür \r\n. Linux: Ein Line Feed
genügt als Zeilenumbruch und wird häufig als \n geschrieben. Die
beiden Steuerzeichen stehen an festen Positionen in der
ASCII-Tabelle. Line Feed hat den Wert 10, während Carriage Return
den Wert 13 hat. Der Backslash kennzeichnet in vielen
Programmiersprachen eine Escape-Sequenz, durch die ein Zeichen eine
besondere Bedeutung erhält. Von der Schreibmaschine stammen die
Bezeichnungen: Beim Carriage Return kehrt der Wagen an den
Zeilenanfang zurück. Ein Line Feed schiebt das Papier um eine Zeile
weiter. Erkennt ein Editor die Zeilenumbrüche einer Datei anders
als vorgesehen, können Zeilen zusammenlaufen oder zusätzliche
Umbrüche erscheinen. Acht-Bit-Zeichensätze und ISO 8859-1 Für
deutsche Texte fehlen in ASCII die Umlaute und das ß. Durch ein
zusätzliches Bit entstehen 256 mögliche Werte, sodass weitere 128
Positionen für zusätzliche Zeichen verfügbar sind. Weil auch dieser
Platz für die verschiedenen Sprachen begrenzt ist, entstanden
mehrere regionale Zeichensätze. Ihre zusätzlichen Positionen können
unterschiedlich belegt sein. Wenn du eine Datei mit einer anderen
Kodierung öffnest, erscheint deshalb unter Umständen ein anderes
Zeichen als vorgesehen. Für Westeuropa ist ISO 8859-1 relevant, das
unter anderem deutsche Umlaute und ß enthält. Weitere Varianten der
ISO-8859-Reihe decken andere Sprachräume ab. Beim Öffnen einer
Textdatei brauchst du deshalb die Information, mit welcher
Kodierung sie gespeichert wurde. ANSI Hinter ANSI steht das
American National Standards Institute, eine Organisation, die
Standards festlegt und mit dem Deutschen Institut für Normung
vergleichbar ist. Im Sprachgebrauch wird ihr Name häufig im
Zusammenhang mit ASCII verwendet. ASCII bezeichnet den konkreten
Zeichensatz samt Kodierung. Unicode und UTF-8 Um Schriftzeichen
weltweit gemeinsam abzubilden, verfolgt Unicode das Ziel eines
umfassenden Zeichenvorrats. Darin finden auch historische Schriften
wie ägyptische Hieroglyphen Platz. Mit sieben oder acht Bit lässt
sich ein so großer Vorrat an Zeichen kaum abbilden. Schon für
65.536 mögliche Werte brauchst du 16 Bit, was bei einer festen
Breite von zwei Byte den Speicherbedarf gegenüber einem Byte pro
Zeichen verdoppelt. Mit UTF-8 lassen sich Unicode-Zeichen
speichern, wobei ASCII-Zeichen weiterhin jeweils ein Byte belegen.
Zeichen außerhalb von ASCII werden mit mehreren Bytes kodiert.
Dadurch bleiben reine ASCII-Texte in derselben Form lesbar und
behalten ihre bisherige Größe. Die Abkürzung steht für UCS
Transformation Format; UCS bedeutet Universal Character Set. Beim
Lesen muss ein Programm erkennen, welche Bytes zusammen ein Zeichen
bilden. Typische Fehler beim Lesen von Texten Anhand zweier
Beispiele aus der täglichen Arbeit kannst du erkennen, was eine
falsch gewählte Kodierung bewirkt: Ein ISO-kodierter Text wird als
UTF-8 gelesen: Ein Umlaut belegt in ISO 8859-1 ein Byte. Wenn das
Programm dieses Byte als Beginn einer UTF-8-Folge liest und keine
passende Fortsetzung findet, kann ein Fragezeichen als Ersatz
erscheinen. Ein UTF-8-Text wird als ISO gelesen: Die Bytes eines
Umlauts werden einzeln als Zeichen interpretiert. Dadurch
erscheinen an seiner Stelle zwei merkwürdige Zeichen. Wenn du das
selbst ausprobieren möchtest, kannst du in einem geeigneten Editor
wie Notepad++ oder PSPad einen Text mit Umlauten speichern und
anschließend mit einer anderen Kodierung lesen. So lässt sich
beobachten, wie dieselben Bytes unterschiedlich dargestellt werden.
BOM am Dateianfang Über eine besondere Bytefolge am Anfang einer
Datei, die BOM, kann ein Programm Hinweise auf die verwendete
Unicode-Kodierung erhalten. Bei UTF-8 kann diese Kennzeichnung
helfen, die Datei passend zu lesen. Weitere Themen aus der
Ausbildung Begleitend zur Ausbildung meiner IT-Azubis möchte ich
weitere Inhalte aus den Lernzielkontrollen aufgreifen. Als nächstes
Thema sind HTML und CSS vorgesehen, in deren Zusammenhang auch
Zeichenkodierung behandelt wurde. Transkription der gesamten
Episode Automatisch erzeugte Transkription der Episode [0:01]
Herzlich willkommen zum Anwendungsentwickler-Podcast, dem Podcast
rund um die Ausbildung zum Fachinformatiker für
Anwendungsentwicklung. [0:10] In dieser Episode geht es um Zeichen,
Sätze und Kodierung. Viel Spaß! [0:20] Hallo und herzlich
willkommen zur 32. Episode des Anwendungsentwickler-Podcasts.
[0:26] Mein Name ist Stefan Macke und heute probiere ich mal was
ganz Neues aus. [0:31] Und zwar mache ich mit meinen Azubis
regelmäßig sogenannte Lernzielkontrollen, wo ich sie nochmal
mündlich abfrage zu bestimmten Ausbildungsinhalten, die sie gerade
so gelernt haben. [0:41] Und in dieser Episode werde ich mal so ein
paar Fragen der zum jetzigen Zeitpunkt aktuellen Lernzielkontrolle
durchgehen, und zwar rund um die Themen Zeichenkodierung und
Zeichensätze. [0:53] Da hatte ich vor, ich glaube, zwei Wochen auch
meine Links der Woche zu gepostet, zu zwei sehr lesenswerten
Artikeln rund um dieses Thema. [1:01] Und aktuell habe ich meine
beiden Azubis zu diesem Themenb
Kommentare (0)
Melde dich an, um einen Kommentar zu schreiben.