Klartext - Plain text

Textdatei von The Human Side of Animals von Royal Dixon , angezeigt durch den Befehl catin einem xterm- Fenster

In der Informatik ist Klartext ein freier Begriff für Daten (zB Dateiinhalte), die nur Zeichen aus lesbarem Material darstellen, nicht jedoch deren grafische Darstellung oder andere Objekte ( Gleitkommazahlen , Bilder usw.). Es kann auch eine begrenzte Anzahl von "Leerzeichen" enthalten, die die einfache Anordnung von Text beeinflussen, wie Leerzeichen, Zeilenumbrüche oder Tabulatorzeichen (obwohl Tabulatorzeichen viele verschiedene Dinge "bedeuten" können, also kaum "einfach" sind). Einfacher Text unterscheidet sich von formatiertem Text , bei dem Stilinformationen enthalten sind. aus strukturiertem Text, wobei strukturelle Teile des Dokuments wie Absätze, Abschnitte und dergleichen identifiziert werden; und aus Binärdateien, in denen einige Teile als Binärobjekte interpretiert werden müssen (codierte ganze Zahlen, reelle Zahlen, Bilder usw.).

Der Begriff wird manchmal ziemlich locker verwendet, um Dateien zu bezeichnen, die nur "lesbaren" Inhalt enthalten (oder nur Dateien mit nichts, was der Sprecher nicht bevorzugt). Dies könnte beispielsweise jegliche Angabe von Schriftarten oder Layout (wie Markup, Markdown oder sogar Tabs) ausschließen; Zeichen wie z. B. geschweifte Anführungszeichen, geschützte Leerzeichen, weiche Bindestriche, Em-Bindestriche und/oder Ligaturen; oder andere Dinge.

Im Prinzip kann Klartext in jeder beliebigen Codierung vorliegen , aber gelegentlich wird der Begriff auch als ASCII-Zeichen verwendet . Da Unicode- basierte Codierungen wie UTF-8 und UTF-16 immer häufiger werden, kann diese Verwendung zurückgehen.

Klartext wird manchmal auch nur verwendet, um "binäre" Dateien auszuschließen: solche, bei denen zumindest einige Teile der Datei über die gültige Zeichenkodierung nicht richtig interpretiert werden können. Zum Beispiel ist eine Datei oder ein String bestehend aus "Hallo" (in welcher Kodierung auch immer), gefolgt von 4 Bytes, die eine binäre Ganzzahl ausdrücken, die nicht nur ein Zeichen ist, eine Binärdatei, kein reiner Text, auch wenn dies nicht der Fall ist Verwendungen. Anders ausgedrückt, die Übersetzung einer Klartextdatei in eine Zeichenkodierung, die ganz andere Zahlen verwendet, um Zeichen darzustellen , ändert die Bedeutung nicht (solange Sie wissen, welche Kodierung verwendet wird), aber bei Binärdateien ändert eine solche Konvertierung die Bedeutung von zumindest einigen Teilen der Datei.

Nur-Text und Rich-Text

Gemäß dem Unicode-Standard:

  • " Klartext ist eine reine Folge von Zeichencodes; reiner nicht codierter Text ist daher eine Folge von Unicode-Zeichencodes.
  • Im Gegensatz dazu ist formatierter Text , auch als Rich Text bekannt , jede Textdarstellung, die einfachen Text plus zusätzliche Informationen wie Sprachkennung, Schriftgröße, Farbe, Hypertext-Links usw. enthält.

SGML, RTF, HTML, XML und TEX sind Beispiele für Rich-Text, der vollständig als Klartext-Streams dargestellt wird und Klartextdaten mit Zeichenfolgen durchsetzt, die die zusätzlichen Datenstrukturen darstellen."

Nach anderen Definitionen werden jedoch Dateien, die Markup oder andere Metadaten enthalten, im Allgemeinen als Klartext betrachtet, solange das Markup auch in direkt lesbarer Form vorliegt (wie in HTML , XML usw.). Daher werden Darstellungen wie SGML , RTF , HTML , XML , Wiki-Markup und TeX sowie fast alle Quellcodedateien von Programmiersprachen als Klartext betrachtet. Der jeweilige Inhalt ist unerheblich dafür, ob es sich bei einer Datei um Klartext handelt. Eine SVG- Datei kann beispielsweise Zeichnungen oder sogar Bitmap-Grafiken ausdrücken, ist aber immer noch reiner Text.

Die Verwendung von Klartext anstelle von Binärdateien ermöglicht es Dateien, "in freier Wildbahn" viel besser zu überleben, teilweise dadurch, dass sie weitgehend immun gegen Inkompatibilitäten der Computerarchitektur sind. Zum Beispiel können alle Probleme der Endianness vermieden werden (bei Codierungen wie UCS-2 statt UTF-8 ist Endianness wichtig, aber einheitlich für jedes Zeichen und nicht für potenziell unbekannte Teilmengen davon).

Verwendungszweck

Der Zweck der Verwendung von Klartext ist heute in erster Linie die Unabhängigkeit von Programmen, die ihre ganz eigene spezielle Kodierung oder Formatierung oder Dateiformat benötigen . Nur-Text-Dateien können mit allgegenwärtigen Texteditoren und Dienstprogrammen geöffnet, gelesen und bearbeitet werden .

Eine Befehlszeilenschnittstelle ermöglicht es Benutzern , Befehle im Klartext zu geben und eine Antwort zu erhalten, normalerweise ebenfalls im Klartext.

Viele andere Computerprogramme sind ebenfalls in der Lage, Klartext zu verarbeiten oder zu erstellen, wie beispielsweise unzählige Programme in DOS , Windows , klassischem Mac OS und Unix und seinen Verwandten; sowie Webbrowser (einige Browser wie Lynx und der Line Mode Browser erzeugen nur Klartext zur Anzeige) und andere E-Text- Reader.

Einfache Textdateien sind in der Programmierung fast universell; eine Quellcodedatei, die Anweisungen in einer Programmiersprache enthält, ist fast immer eine reine Textdatei. Klartext wird auch häufig für Konfigurationsdateien verwendet , die beim Start eines Programms für gespeicherte Einstellungen gelesen werden.

Für viele E-Mails wird Klartext verwendet .

Ein Kommentar , eine " .txt "-Datei oder ein TXT-Eintrag enthält im Allgemeinen nur Klartext (ohne Formatierung), der für Menschen zum Lesen bestimmt ist.

Das beste Format zum dauerhaften Speichern von Wissen ist einfacher Text als ein binäres Format .

Codierung

Zeichenkodierungen

Vor den frühen 1960er Jahren wurden Computer hauptsächlich für die Zahlenverarbeitung und nicht für Text verwendet, und der Speicher war extrem teuer. Computer ordneten jedem Zeichen oft nur 6 Bits zu und ließen nur 64 Zeichen zu – die Zuweisung von Codes für AZ, az und 0-9 würde nur 2 Codes hinterlassen: bei weitem nicht genug. Die meisten Computer haben sich dafür entschieden, keine Kleinbuchstaben zu unterstützen. So früh Text Projekte wie Roberto Busa ‚s Index Thomisticus , dem Brown - Korpus und andere mussten Konventionen greifen wie ein Sternchen Keying tatsächlich beabsichtigt vorhergehenden Buchstaben Großbuchstaben zu sein.

Fred Brooks von IBM sprach sich stark dafür aus, auf 8-Bit-Bytes umzusteigen, weil die Leute eines Tages vielleicht Text verarbeiten wollen; und gewonnen. Obwohl IBM EBCDIC verwendete , wurde der meiste Text von da an in ASCII codiert , wobei Werte von 0 bis 31 für (nicht druckende) Steuerzeichen und Werte von 32 bis 127 für grafische Zeichen wie Buchstaben, Ziffern und Satzzeichen verwendet wurden. Die meisten Maschinen speicherten Zeichen in 8 Bit statt in 7, wobei das verbleibende Bit ignoriert oder als Prüfsumme verwendet wurde .

Die nahezu Allgegenwart von ASCII war eine große Hilfe, konnte jedoch internationale und sprachliche Bedenken nicht adressieren. Das Dollarzeichen ("$") war in England nicht so nützlich, und die in Spanisch, Französisch, Deutsch, Portugiesisch und vielen anderen Sprachen verwendeten Akzentzeichen waren in ASCII überhaupt nicht verfügbar (ganz zu schweigen von Zeichen, die in Griechisch, Russisch, und die meisten östlichen Sprachen). Viele Einzelpersonen, Unternehmen und Länder haben nach Bedarf zusätzliche Zeichen definiert – häufig werden Steuerzeichen neu zugewiesen oder Werte im Bereich von 128 bis 255 verwendet. Die Verwendung von Werten über 128 steht in Konflikt mit der Verwendung des 8. Bits als Prüfsumme, aber die Verwendung der Prüfsumme starb allmählich aus .

Diese zusätzlichen Zeichen wurden in verschiedenen Ländern unterschiedlich kodiert, wodurch es unmöglich war, Texte zu entschlüsseln, ohne die Regeln des Urhebers herauszufinden. Beispielsweise könnte ein Browser ¬A statt ` anzeigen, wenn er versucht, einen Zeichensatz als einen anderen zu interpretieren. Die International Organization for Standardization ( ISO ) entwickelte schließlich mehrere Codepages unter ISO 8859 , um verschiedene Sprachen unterzubringen. Die erste davon ( ISO 8859-1 ) ist auch als "Latin-1" bekannt und deckt die Bedürfnisse der meisten (nicht aller) europäischen Sprachen ab, die lateinische Zeichen verwenden (es gab nicht genug Platz, um sie alle abzudecken). . ISO 2022 stellte dann Konventionen für das "Umschalten" zwischen verschiedenen Zeichensätzen in der Mitte der Datei bereit. Viele andere Organisationen entwickelten Variationen dieser und viele Jahre lang verwendeten Windows- und Macintosh-Computer inkompatible Variationen.

Die Situation bei der Textcodierung wurde immer komplexer, was zu Bemühungen der ISO und des Unicode-Konsortiums führte , eine einzige, einheitliche Zeichencodierung zu entwickeln, die alle bekannten (oder zumindest alle derzeit bekannten) Sprachen abdecken konnte. Nach einigen Konflikten wurden diese Bemühungen vereint. Unicode erlaubt derzeit 1.114.112 Codewerte und weist Codes zu, die fast alle modernen Textschreibsysteme sowie viele historische und viele nicht-linguistische Zeichen wie Drucker- Dingbats , mathematische Symbole usw. abdecken .

Text wird unabhängig von seiner Codierung als Nur-Text betrachtet. Um sie richtig zu verstehen oder zu verarbeiten, muss der Empfänger wissen (oder herausfinden können), welche Codierung verwendet wurde; Sie müssen jedoch nichts über die verwendete Computerarchitektur wissen oder über die binären Strukturen, die von jedem Programm (falls vorhanden) definiert werden, das die Daten erstellt hat.

Die vielleicht gebräuchlichste Art, die spezifische Kodierung von Klartext explizit anzugeben, ist der MIME-Typ . Für E-Mail und HTTP ist der Standard-MIME-Typ " text/plain " – Nur-Text ohne Markup. Ein weiterer MIME-Typ, der sowohl in E-Mail als auch in HTTP häufig verwendet wird, ist " text/html ; charset=UTF-8" – einfacher Text, der in der UTF-8-Zeichencodierung mit HTML-Markup dargestellt wird. Ein weiterer gängiger MIME-Typ ist "application/json" – Klartext, der in der UTF-8-Zeichencodierung mit JSON- Markup dargestellt wird.

Wenn ein Dokument ohne explizite Angabe der Zeichenkodierung empfangen wird, verwenden einige Anwendungen die Zeichensatzerkennung , um zu erraten, welche Kodierung verwendet wurde.

Steuercodes

ASCII reserviert die ersten 32 Codes (Zahlen 0–31 dezimal) für Steuerzeichen, die als "C0-Satz" bekannt sind: Codes, die ursprünglich nicht dazu gedacht waren, druckbare Informationen darzustellen, sondern eher Geräte (wie Drucker ) zu steuern , die ASCII verwenden, oder um Metainformationen über Datenströme bereitzustellen, die beispielsweise auf Magnetbändern gespeichert sind. Sie enthalten allgemeine Zeichen wie den Zeilenumbruch und das Tabulatorzeichen .

In 8-Bit-Zeichensätzen wie Latin-1 und den anderen ISO 8859- Sätzen sind die ersten 32 Zeichen der "oberen Hälfte" (128 bis 159) auch Steuercodes, bekannt als "C1-Satz". Sie werden selten direkt verwendet; Wenn sie in Dokumenten auftauchen, die angeblich in einer ISO 8859-Codierung vorliegen, beziehen sich ihre Codepositionen im Allgemeinen stattdessen auf die Zeichen an dieser Position in einer proprietären, systemspezifischen Codierung wie Windows-1252 oder Mac OS Roman , die die Codes verwenden um stattdessen zusätzliche grafische Zeichen bereitzustellen.

Unicode definiert zusätzliche Steuerzeichen, einschließlich bidirektionaler Textrichtungs- Override-Zeichen (wird verwendet, um explizit von rechts nach links geschriebene Schriften innerhalb einer von links nach rechts geschriebenen Schrift zu markieren und umgekehrt) und Variationsselektoren , um alternative Formen von CJK-Ideogrammen auszuwählen , Emoji und andere Charaktere.

Siehe auch

Verweise