본문 바로가기
실버를 위한 코딩/파이썬

이스케이프 시퀀스, "\x \u \U"

by forSilver 2024. 9. 26.
반응형

케이프 시퀀스, "\x \u \U"

Python에서 \x, \u, \U는 각각 다른 유형의 이스케이프 시퀀스를 나타내며, 주로 유니코드 문자나 16진수 값에 대응하는 문자를 표현할 때 사용됩니다. 각 이스케이프 시퀀스는 사용법이 다르므로 하나씩 설명드리겠습니다.

1. \x - 16진수 이스케이프 시퀀스 (Hexadecimal Escape Sequence)

  • \x는 16진수 값을 사용하여 ASCII 또는 유니코드 문자를 나타냅니다. 반드시 두 자리 16진수 값을 입력해야 합니다.
  • 사용 범위: 0x00 ~ 0xFF (즉, 0에서 255까지의 값)

예시:

print('\x41')  # 출력: 'A' (16진수 41은 문자 'A'에 해당)
print('\x7A')  # 출력: 'z' (16진수 7A는 문자 'z'에 해당)

이 경우 16진수 값을 두 자리로 입력해야 합니다. 만약 불완전한 이스케이프 시퀀스를 입력하면 오류가 발생합니다.

2. \u - 16비트 유니코드 이스케이프 시퀀스 (16-bit Unicode Escape Sequence)

  • \u는 16비트 유니코드 문자(2바이트, 4자리 16진수 값)를 나타냅니다.
  • 사용 범위: U+0000 ~ U+FFFF

예시:

print('\u0041')  # 출력: 'A' (U+0041은 문자 'A'에 해당)
print('\uAC00')  # 출력: '가' (U+AC00은 한글 '가'에 해당)

이때 반드시 4자리 16진수 값을 입력해야 하며, 부족할 경우 앞에 0을 채워야 합니다.

3. \U - 32비트 유니코드 이스케이프 시퀀스 (32-bit Unicode Escape Sequence)

  • \U는 32비트 유니코드 문자(4바이트, 8자리 16진수 값)를 나타냅니다. 주로 UTF-32 문자에 사용되며, 범위가 매우 큽니다.
  • 사용 범위: U+00000000 ~ U+10FFFF

예시:

print('\U00000041')  # 출력: 'A' (U+00000041은 문자 'A'에 해당)
print('\U0001F600')  # 출력: 😀 (U+1F600은 이모지 '😀'에 해당)

8자리 16진수 값을 입력해야 하며, 자릿수가 부족하면 앞에 0을 채워야 합니다. 예를 들어, 이모지 같은 문자는 보통 U+10000 이상의 값으로 표현됩니다.

요약:

  • \x두 자리 16진수로 표현하는 ASCII 문자나 유니코드 문자를 나타냅니다.
  • \u4자리 16진수로 표현하는 유니코드 문자입니다.
  • \U8자리 16진수로 표현하는 유니코드 문자이며, 보다 넓은 유니코드 범위를 다룹니다.

각각의 이스케이프 시퀀스를 사용할 때는 반드시 정확한 자리수로 작성해야 오류가 발생하지 않으므로 주의가 필요합니다.