Pourquoi est - '\x' invalide en Python?
Je faisais des expériences avec des '\' caractères, en utilisant "\a\b\c... " juste pour énumérer pour moi-même les caractères Python interprète comme des caractères de contrôle, et à quoi. Voici ce que j'ai trouvé:
\a - BELL
\b - BACKSPACE
\f - FORMFEED
\n - LINEFEED
\r - RETURN
\t - TAB
\v - VERTICAL TAB
La plupart des autres personnages, j'ai essayé, '\g', '\s', etc. simplement évaluer le 2-chaîne de caractères d'une barre oblique inverse et le personnage. Je comprends que c'est intentionnel, et fait sens pour moi.
Mais '\x' est un problème. Quand mon script atteint cette ligne de source:
val = "\x"
J'obtiens:
ValueError: invalid \x escape
Quel est si spécial à propos de "\x"? Pourquoi est-il traité différemment des autres non-caractères échappés?
Vous devez vous connecter pour publier un commentaire.
Il y a un tableau listant tous les codes d'échappement et leurs significations dans le la documentation.
\xhh
est utilisé pour représenter hex caractères d'échappement.x est utilisé pour définir (un octet) hexadécimal littéraux de chaînes de caractères, par exemple:
permettra d'évaluer à 'a', parce 61 est la valeur hexadécimale de 97, ce qui représente une en ASCII
\x manque le sortilège de caractère que vous souhaitez match contre: \xnn -> \x1B
Que vous ne donnez pas la totalité de la séquence d'échappement:
À partir de: http://www.gnu.org/software/gawk/manual/html_node/Escape-Sequences.html