•  
  • Betreff

    are escaped by

    Quellen

    Double quote characters within a field "are escaped by" another double quote character

    Kommentar

    Wie versteht ihr den markierten Ausdruck in diesem Kontext? Ich würde ihn (intuitiv) mit "gefolgt von" übersetzen, kann dazu aber im Merriam Webster zum Beispiel keine Anhaltspunkte finden.

    VerfasserDo32_0 (1353175) 18 Aug. 22, 07:37
    Kommentar

    https://de.wikipedia.org/wiki/Escape_(Steuerz...

    https://help.sap.com/doc/abapdocu_750_index_h...


    "escaped by" wäre dann ein Escape-Zeichen voranstellen, wenn ich das richtig verstehe


    hier noch eine weitere Diskussion in die ähnliche Richtung:

    Siehe auch: to strip characters

    #1Verfassertelly (520167) 18 Aug. 22, 08:46
    Kommentar

    Aus dem Wiki-Link in #1 :


     Das Escape (ESC oder ^[, deutsch ungebräuchlich Fluchtsymbol, Unicode-Repräsentation: ␛) ist ein ASCII-Steuerzeichen (hexadezimal: \x1B, dezimal 27), das in einigen Ausgabegeräten eine Escape-Sequenz einleitet.

    Falls das jeweilige Ausgabegerät, beispielsweise ein Terminal, dieses Steuerzeichen unterstützt, so erwartet es in der Folge weitere Zeichen. Das einleitende ESC-Zeichen und die folgenden Zeichen werden als Escape-Sequenz bezeichnet. Das Escape-Zeichen ist das erste Zeichen einer solchen Sequenz, folgende Zeichen sind Bestandteile dieser Sequenz und sind daher nicht als gewöhnliche Zeichen zu interpretieren. Abschlusszeichen markieren das Ende einer solchen Escape-Sequenz, mit dem das Gerät wieder zur normalen Interpretation von Zeichen zurückkehrt.

    Ein früher Hinweis auf den Begriff „Escape-Zeichen“ findet sich um 1961 in den technischen Veröffentlichungen von Bob Bemer von IBM, dem die Erfindung dieses Mechanismus während seiner Arbeit am ASCII-Zeichensatz zugeschrieben wird. 1965 wurde das Zeichen mit der Norm ASA X3.4-1965 (approved, nicht veröffentlicht) bzw. 1967 mit USAS X3.4-1967 (veröffentlicht) eingeführt. Escape-Sequenzen wiederum wurden später zu ANSI-Escape-Codes weiterentwickelt, die in der Norm ANSI X3.4-1968 enthalten sind. ...


    #2Verfasserno me bré (700807) 18 Aug. 22, 09:30
    Kommentar

    Aber in diesem Fall würde die Funktion des vorangestellten Escape-Zeichens von einem vorangestellten weiteren Anführungszeichen übernommen, oder?

    #3VerfasserMattes (236368) 18 Aug. 22, 09:51
    Kommentar

    Vielen Dank für eure Hilfe! Mattes, ich denke, du hast vollkommen Recht. Es müsste sich um ein weiteres vorangestelltes Anführungszeichen handeln.

    #4VerfasserDo32_0 (1353175) 18 Aug. 22, 09:56
    Kommentar

    Was das Amateurlexikon verschweigt: Das Escape-Zeichen dient beim Programmieren als Umschaltzeichen zwischen der normalen Zeichendarstellung und der Sonderfunktion von Zeichen. Eine "Escape-Sequenz" ist eine Zeichenfolge, die durch das vorangestellte Escape-Zeichen als Programmierkode interpretiert wird.


    Im Beispielsatz oben wird "escape" als Verb nicht nur im Sinn von voranstellen, sondern von "umrahmen", "einfassen" gebraucht. Der Ausdruck in doppelten Anführungszeichen wird also noch einmal durch Anführungszeichen am Anfang und Ende eingefasst.

    #5VerfasserRominara (1294573)  18 Aug. 22, 12:52
    Kommentar

    Grundsätzlich ist das Problem, dass Texte von einem System immer interpretiert werden müssen, weil viele der Zeichen Sonderfunktionen haben, oder sei es nur, um zu wissen, wo er anfängt und aufhört. Ganz besonders tückisch sind hierbei die Anführungszeichen, weil diese üblicherweise das Ende eines Strings (Textes) andeuten, aber auch im Text eine Bedeutung haben könnten, und wenn sie dann im Text auftauchen aber als String-Ende interpretiert werden, die Struktur des Datenstroms zerstören. Rominara hat in der #5 also "fast" Recht: es geht darum, dem System zu sagen, dass das folgende eben NICHT als Programmcode interpretiert werden soll, sondern einfach nur so dargestellt werden soll, wie er da steht.


    Das Escapen (ja, das wird auch im Deutschen so genannt) ist aber kein Umrahmen, sondern eine schlichte Kenntlichmachung eines Zeichens. Da der double quote als Steuerzeichen interpretiert werden könnte (und den String beendet), wird er doppelt ausgeführt. Diese Sequenz aus "" innerhalb eines Strings wird dann interpretiert als ", wenn es um die Weiterverarbeitung oder Anzeige des Strings geht. Bei Texten, die in single quotes eingefasst werden, werden dann vorkommende einfache Hochkommas ebenfalls doppelt ausgeführt, um dem System zu sagen "das ist Text, kein Steuerzeichen, der Text geht danach noch weiter".


    Übliche andere Sonderzeichen in Strings sind auch der Backslash, da er selbst auch als Escape-Zeichen fungiert, sowie das Prozentzeichen, Dollarsymbol und Hashtag, die je nach Programmiersprache Textmakros oder einzufügende Variablenwerte anzeigen. Wenn die als entsprechende Zeichen angezeigt werden sollen, müssen die ebenfalls "escaped" werden, das wird bei denen dann aber üblicherweise durch den oben beschriebenen Backslash gemacht.


    Die Technik, dem System zu sagen "Das ist jetzt kein Steuerzeichen für Dich, sondern nimm das Zeichen bitte so, wie Du es vorfindest" nennt man in der Informatik dann halt so, weil solche Abschnitte früher mit einem Escape-Zeichen und entsprechender Sequenz eingeleitet wurden.


    Bei der Escape-Sequenz, die explizit als Steuerbefehl interpretiert werden soll (also z.B. der Charakter 12 als Seitenumbruch oder die üblichen HTML-Tags) spricht man eigentlich nicht vom Escapen. Rominara hat zwar Recht, dass dies auch Escape-Sequenzen sind, diese Art der erzwungenen Interpretation passt aber nicht zur Anfrage im OP.

    #6Verfasserm.dietz (780138)  18 Aug. 22, 14:05
    Kommentar

    Wow! Vielen herzlichen Dank für diese sehr hilfreiche und ausführliche Erklärung und das Insiderwissen! Diesen Beitrag werde ich mir gut abspeichern. Nochmals danke!!!

    #7VerfasserDo32_0 (1353175) 19 Aug. 22, 08:24
    Kommentar

    Was in diesem Fall an Kontext-Information fehlt, ist die Art des "Feldes", um das es geht.


    Vermutlich geht es um einen Text (Zeichenkette, String), der innerhalb der Niederschrift eines Programmskriptes erscheint, und im Verlaufe der Ausführung des Programms auf einem Ausgabegerät erscheinen soll. Solche Texte werden zuweilen innerhalb des Programms von Anführungszzeichen umrahmt.


    Hypothetisches Beispielprogramm. Hier speichert die erste Zeile einen Text in der Variablen "A" ab.

    Die zweite Zeile druckt den Text auf dem Ausgabegerät.


    Let A = "Dieser Text soll gedruckt werden"

    Print A


    In einer solchen Konstellation kann der zu druckende Text kein Anführungszeichen enthalten, weil das erste Anführungszeichen im Text den Text beenden würde, und der nachfolgende Textrest einen Syntaxfehler im ausführbaren Progamm darstellen würde.


    Man hilft sich, indem man vor ein auszudruckendes Zeichen, welches für den Programmtext eine Sonderbedeutung hat, ein Escape-Zeichen setzt. Dies hebt die Sonderbedeutung des folgenden Zeichens (Stringende) auf. In diesem Fall ist das Escape-Zeichen kein Steuerzeichen im Zeichenvorrat außerhalb der druckbaren Zeichen, sondern gehört zu den normalen druckbaren Zeichen.


    (Das ist deshalb üblich, weil die Einbettung von "echten" Steuerzeichen wie Zeilenumbrüchen etc. den Editor verwirren würde, mit dem man den Programmtext erfasst und bearbeitet.)


    Let A= "Dieser Text wird mit zwei ""Anführungszeichen"" ausgedruckt"

    #8VerfasserHarald (dede) [de] (370386)  19 Aug. 22, 10:12
     
  •  
  •  
  •  
  •  
  •  
  
 
 
  • Pinyin
     
  • Tastatur
     
  • Sonderzeichen
     
  • Lautschrift
     
 
 
:-) automatisch zu 🙂 umgewandelt