복붙노트

[PYTHON] 파이썬에서 '\ x'가 왜 유효하지 않습니까?

PYTHON

파이썬에서 '\ x'가 왜 유효하지 않습니까?

나는 '\ a \ b \ c ...'를 사용하여 '\'문자를 실험하고있었습니다. 파이썬이 제어 문자로 해석하는 문자와 그 문자를 열거했습니다. 여기 내가 찾은 것이 있습니다 :

\a - BELL
\b - BACKSPACE
\f - FORMFEED
\n - LINEFEED
\r - RETURN
\t - TAB
\v - VERTICAL TAB

'\ g', '\ s'등 대부분의 다른 문자는 백 슬래시와 주어진 문자의 2 문자 문자열로 평가됩니다. 나는 이것이 의도적이라고 이해하며 나에게 의미가있다.

그러나 '\ x'는 문제입니다. 내 스크립트가이 소스 라인에 도달하면 :

val = "\x"

나는 얻다:

ValueError: invalid \x escape

'\ x'의 특별한 점은 무엇입니까? 다른 이스케이프 처리되지 않은 문자와 다르게 취급되는 이유는 무엇입니까?

해결법

  1. ==============================

    1.문서에 모든 이스케이프 코드와 그 의미를 나열한 테이블이 있습니다.

    문서에 모든 이스케이프 코드와 그 의미를 나열한 테이블이 있습니다.

    Escape Sequence    Meaning                        Notes
    \xhh               Character with hex value hh    (4,5)
    
  2. ==============================

    2.\ xhh는 16 진수 이스케이프 문자를 나타내는 데 사용됩니다.

    \ xhh는 16 진수 이스케이프 문자를 나타내는 데 사용됩니다.

  3. ==============================

    3.x는 문자열에 16 진 리터럴을 정의하는 데 사용됩니다 (예 : 1 바이트).

    x는 문자열에 16 진 리터럴을 정의하는 데 사용됩니다 (예 : 1 바이트).

    '\x61'
    

    61은 16 진수 값 97이므로 ASCII로 표시되므로 'a'로 평가됩니다.

  4. ==============================

    4.\ x에 일치시킬 16 진수 문자가 없습니다 : \ xnn -> \ x1B

    \ x에 일치시킬 16 진수 문자가 없습니다 : \ xnn -> \ x1B

  5. ==============================

    5.전체 이스케이프 시퀀스를 제공하지 않습니다.

    전체 이스케이프 시퀀스를 제공하지 않습니다.

    출처 : http://www.gnu.org/software/gawk/manual/html_node/Escape-Sequences.html

  6. from https://stackoverflow.com/questions/2704654/why-is-x-invalid-in-python by cc-by-sa and MIT license