Cheatah: Sonderzeichen in Textdatei Datenbanken (Perl u.a.), No. 2

Beitrag lesen

Hi,

Üblicherweise werden die einzelnen Felder dieser Textdateien mit Pipe oder Raute voneinander getrennt:

oder Tab oder Semikolon oder Komma oder ...

Problematisch daran ist, dass man dann diese Trennzeichen selber nicht mehr in den Zellwerten verwenden kann (ausser über Maskierung).

Richtig.

Im Thread:
http://forum.de.selfhtml.org/archiv/2004/2/73163/
hat Christian (Vielen Dank dafür !!) erklärt, dass man als Trennzeichen besser '\036' (Record Separator) dafür verwendet.

(Btw: </faq/#Q-19>)

Egal welches Zeichen man verwendet, es besteht *immer* die Gefahr, dass es im Inhalt vorkommt. *Jedes* Zeichen mit Sonderbedeutung muss maskiert werden. Derer hast Du folgende:

  • Das Zeilen-Trennzeichen (z.B. \n),
  • das Spalten-Trennzeichen (z.B. \t) und infolge dessen
  • das Escape-Zeichen (z.B. ).

Eine Frage bleibt für mich damit aber noch offen: wie soll man den Zeilenumbruch codieren?

Wo immer Du eine Maskierung von Zeichen vornehmen musst, triffst Du auf das selbe Prinzip. Du hast ein Escape-Zeichen, welches Du zunächst maskierst, und anschließend maskierst Du alle anderen Zeichen. Immer. Die Dekodierung erfolgt genau umgekehrt.

Cheatah

--
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes