Frage

Viele Sprachen haben Funktionen, die nur "Klartext" verarbeiten, nicht binär. Bedeutet dies, dass nur Zeichen innerhalb des ASCII -Bereichs zulässig sind?

Binär ist nur eine Reihe von Bytes. Ist es nicht ähnlich wie eine Reihe von Bytes, die als Zeichen interpretiert werden? Kann Plaintext die gleichen Datenformate / Protokolle wie binär speichern?

War es hilfreich?

Lösung

Eine Sache, die es oft bedeutet, ist, dass die Sprache sich frei fühlt, zertifikatische Kontrollfiguren wie die Werte 10 oder 13 als logische Zeilenterminatoren zu interpretieren. Mit anderen Worten, ein Ausgabebetrieb könnte diese Zeichen automatisch am Ende anhängen, und ein Eingabebetrieb kann sie aus der Eingabe entfernen (und/oder dort das Lesen beenden).

Im Gegensatz dazu enthalten Sprach -E/A -Operationen, die anhand von "binären" Daten Werbung machen erledigt.

Andere Tipps

Ein einfacher Text ist menschlich lesbar, eine binäre Datei ist normalerweise für einen Menschen unlesbar, da sie aus druckbaren und nicht druckbaren Zeichen besteht.

Versuchen Sie, eine JPEG -Datei mit einem Texteditor (z. B. Notepad oder VIM) zu öffnen, und Sie werden verstehen, was ich meine.

Eine binäre Datei wird normalerweise so konstruiert, dass die Geschwindigkeit optimiert wird, da keine Parsen erforderlich ist. Eine einfache Textdatei ist von Hand bearbeitet, eine binäre Datei nicht.

"Klartext" kann mehrere Bedeutungen haben.

Der in diesem Zusammenhang am nützlichsten ist, dass es sich lediglich um Binärdateien handelt, die in Byte -Sequenzen organisiert sind, die ein bestimmtes Computersystem in einen endlichen Satz von dem, was es für "Text" betrachtet, übersetzen kann.

Eine zweite Bedeutung, die etwas verbunden ist, ist eine Einschränkung, dass dieses System diese "Textzeichen" als Symbole anzeigen sollte, die von einem Menschen als Mitglieder eines erkennbaren Alphabets lesbar sind. Oft ist die ungeschriebene Implikation, dass der Translationsmechanismus ASCII ist.

Eine dritte, noch restriktivere Bedeutung ist, dass dieses System ein "einfacher" Texteditor/Zuschauer sein muss. Normalerweise impliziert ASCII -Codierung. Aber wirklich, es gibt kaum einen Unterschied zwischen Ihnen, dem Menschen, der in einem funky Format codierten und von einem proprietären Programm angezeigten Text im Vergleich zum VI -Texteditor, der ASCII -codierte Datei liest.

Im Programmierkontext, Ihre Programmierumgebung (besteht aus OS + -System -APIs + Ihre Sprachfunktionen) definiert sowohl eine Reihe von "Text" als auch eine Reihe von Codierungen, die gelesen werden können, um in diese "Text" -Perkmale konvertiert zu werden. Bitte beachten Sie, dass dies möglicherweise nicht unbedingt ASCII, Englisch oder 8 Bit impliziert. Perl kann als Beispiel den vollständigen Unicode -Satz von "Zeichen" nativ lesen und verwenden.

Um Ihre spezifische Frage zu beantworten, können Sie definitiv "Zeichen" -Abschnitte verwenden, um beliebige Byte -Sequenzen zu übertragen, mit der Einschränkung, dass die Kündigungskonventionen der String -Beendigung gelten müssen. Das Problem ist, dass die bereits vorhandenen Funktionen, die zum "Verarbeitung von Charakterdaten" vorhanden sind, wahrscheinlich keine nützliche Funktionen haben, um mit Ihren Binärdaten umzugehen.

Im Allgemeinen hängt es von der Sprache/Umgebung/Funktionalität ab.

Binärdaten sind immer das: Binär. Es wird ohne Änderung übertragen.

"Plain Text" -Modus kann einen oder mehrere der folgenden Dinge bedeuten:

  • Der Strom von Bytes wird in Linien aufgeteilt. Die Zeilengrenzwerte sind r, n oder r n oder n r. Manchmal ist es osabhängig (wie *nix mag n, während Windows r n). Die Leitungende kann für die Leseanwendung angepasst werden
  • Charaktercodierung kann eingestellt werden. Die Umgebung kann die Quellcodierung in die Codierung der Anwendung erkennen und/oder umwandeln
  • Wahrscheinlich sollten einige andere Konvertierungen in diese Liste hinzugefügt werden, aber ich kann mich in diesem Moment nicht mehr vorstellen

Technisch nichts. Einfacher Text ist eine Form von Binärdaten. Ein wesentlicher Unterschied besteht jedoch darin, wie Werte gespeichert werden. Denken Sie daran, wie eine Ganzzahl gespeichert werden könnte. In Binärdaten würde es das Komplementformat einer Zwei verwenden, wahrscheinlich 32 Platz in der Lage. Im Textformat würde stattdessen eine Zahl als eine Reihe von Unicode -Ziffern gespeichert. Die Nummer 50 würde also als 0x32 (gepolstert zum Aufnehmen von 32 Bit) in binär gespeichert, aber in einfachem Text als '5' '0' gespeichert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top