[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [DICO] escape



Le lundi 23 juin 2003, à 17:18, Philippe Batailler écrivait :
> Il n'y pas vraiment de problème sur la traduction de escape.
> Juste quelques questions :
> Les caractères d'échappement : combien sont-ils ?

Aucune idée. Ce n'est qu'une convention, après tout, et je suis bien
certain qu'il en existe tout un tas d'exotiques dont je n'ai jamais
entendu parler.
Tiens d'ailleurs, c'est quoi sous Windows ? (puisque je doute fort que
ce soit l'antislash)

> le ou les caractères échappés : pas du tout bon, ça !

Euh... pourquoi ?

> à l'aide du caractère d'échappement '\' : c'est le seul ?

Dans ce contexte (expressions régulières), à ma connaissance, oui.

> Quid de ascii 27 ou \x1B ?

J'espérais un peu éviter d'en parler, en fait, puisque la plupart du
temps, ce n'est pas à lui qu'on fait allusion quand on tombe sur
l'expression "gnagnagna must be escaped" ou "you should escape gnagnagna
by..."

Du coup, je ne parle plus que de ça, maintenant. C'est malin ! ;-)

> Ne doit pas parler plutôt de « séquence d'échappement » ?

Ça dépend. En fait quand on « protège » ou qu'on « déspécialise », ce
n'est pas vraiment une « séquence d'échappement », à mon sens.


Je te dois un grand merci pour m'avoir obligé à clarifier tout ça. Parce
que soyons, honnête, ce n'était pas si clair non plus pour moi avant que
tu ne poses ces questions gênantes.

:-)

Le problème, c'est que du coup Christian n'aura pas le FQDN avant
demain. :-/

Frédéric, tu n'as pas d'objection à l'abandon de "déspécialiser" et de
"désactiver" ?

Ci-joint une nouvelle version légèrement modifiée (une paille !) pour
satisfaire Philippe. Et j'espère qu'elle le satisfait !

Une dernière chose : si vous avez une meilleure url pour la table ascii
que cette horreur bourrée de pubs, je serai ravi de faire l'échange.

-- 
Laurent - C'est plus un dico, c'est une encyclopédie...
#include "../dico.template" title="escape (characters)"

<entry orig="escape sequence" trans="séquence d'échappement">
<entry orig="escape character" trans="caractère d'échappement">
<entry orig="to escape (a string, a character)" trans="protéger ou échapper (une chaîne, un caractère)">

<p>Le <em>caractère d'échappement</em>, auquel on fait souvent référence par
l'abréviation ESC, a été <a href="http://www.bobbemer.com/ESCAPE.HTM";>inventé</a>
pour permettre de signaler que les caractères qui le suivent doivent être
interprétés d'une manière différente de ceux qui le précèdent. Concrètement,
cela permet un changement de mode, le plus souvent pour passer des commandes au
périphérique ou à l'ordinateur qui reçoit les données en entrée.</p>

<p>La <em>séquence d'échappement</em> désigne l'ensemble composé par le
caractère d'échappement et les caractères qui suivent.</p>

<p>L'éditeur <cite>vi</cite>, qui distingue un mode insertion et un mode
commande, le passage du premier au deuxième se faisant par le biais de la touche
d'échappement, illustre bien le principe de ce fonctionnement.</p>

<p>Les séquences d'échappement des terminaux ont fait l'objet d'une
<a href="http://adm.lacitec.on.ca/~ymicha/mcours/micro1/escape.html";>normalisation
ANSI</a>. Vous pouvez en trouver des exemples d'utilisation dans le
<a href="http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/c341.html";>Bash-Prompt-HOWTO</a>.
Une fois que vous vous serez fait le main sur l'invite de votre interpréteur de
commandes, vous pourrez en faire profiter vos amis pour peu qu'ils utilisent
<a href="http://www.mutt.org/doc/manual/manual-2.html#ss2.3";>Mutt</a>, et que
la perspective de violer la netiquette ne trouble pas votre âme intrépide.</p>

<p>Le caractère d'échappement <a href="http://www.asciitable.com/";>ASCII</a> est
le code 27, 0x1B, ou encore 033.</p>

<p>Il existe d'autres conventions, comme
<a href="http://www.wikipedia.org/wiki/Hayes_AT_command_set";>le jeu de commandes
Hayes</a> des modems, qui utilise la séquence «&nbsp;+++&nbsp;» comme caractère
d'échappement.</p>

<p>Le langage C a popularisé l'antislash ('\') en tant que caractère
d'échappement, ainsi qu'un certain nombre de
<a href="http://www.liquifried.com/docs/useful/Cescapeseq.html";>séquences
d'échappement</a>. Comme ces séquences comprennent la possibilité d'ôter à
certains caractères leur signification pour le compilateur (comme l'antislash
lui-même, ou l'apostrophe), le terme <em>caractère d'échappement</em> a pris par
extension le sens de <i>caractère permettant de faire en sorte qu'un caractère,
ou une séquence de caractères, donné «&nbsp;échappe&nbsp;» au traitement d'un
interpréteur, d'un pré-processeur, d'un analyseur, etc..</i></p>

<p>Dans un souci de clarté, il est préférable de parler dans ce cas de
«&nbsp;protection&nbsp;» du ou des caractères échappés.</p>

<p>Ainsi, le point ('.') représente n'importe quel caractère dans une expression
régulière. Pour faire correspondre l'expression au caractère du point lui-même,
il faut le protéger à l'aide du caractère d'échappement '\', ce qui donne
/\./.</p>

<p>Ou encore, pour éviter que le caractère '$' soit interprété comme un
opérateur de déréférencement de variable par l'interpréteur de commandes
<cite>Bash</cite>, il convient de le protéger à l'aide du caractère
d'échappement '\' ou en le plaçant au sein d'une expression entre
apostrophes.</p>

<dico-footer>

Reply to: