실버를 위한 코딩/파이썬

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

forSilver 2024. 9. 26. 03:12
반응형

케이프 시퀀스, "\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진수로 표현하는 유니코드 문자이며, 보다 넓은 유니코드 범위를 다룹니다.

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