728x90
반응형

 티스토리 

ASCII 코드표 ord(), chr()로 변환하는 방법

ord()와 chr()는 파이썬의 내장 함수로, 문자와 ASCII 코드 간의 변환을 돕습니다.

1. 파이썬으로 ASCII 코드 표 만들기

 

# ASCII 코드 표를 생성하여 출력하기

# ASCII 코드 표를 위한 빈 문자열 초기화
ascii_table = ""

# ASCII 코드 범위에 대해 반복
for i in range(128):
    # 각 줄에 ASCII 코드와 해당 문자를 추가
    ascii_table += f"{i:3} -> '{chr(i)}'\t"
    # 4개의 코드마다 줄바꿈 추가
    if (i + 1) % 4 == 0:
        ascii_table += "\n"

print(ascii_table) # 테이블 출력

 

{i:3}는 파이썬의 문자열 포맷팅 기법 중 하나입니다. 이 구문은 변수 i의 값을 문자열로 포맷팅할 때 사용됩니다. 여기서 3은 공간의 폭을 지정합니다. 구체적으로 설명하면:

{}: 중괄호는 변수를 문자열에 포맷팅하기 위한 표시입니다. format 메소드나 f-string을 사용할 때 이 중괄호 안에 변수를 넣어 해당 위치에 변수의 값을 삽입합니다.
i: 이 부분은 변수 i의 값이 들어갈 자리를 나타냅니다.
:3: 콜론(:) 뒤에 오는 숫자 3은 최소 폭을 지정합니다. 이는 i의 값이 차지할 최소한의 공간을 3자리로 설정합니다. 만약 i의 값이 3자리 미만이면 나머지 공간은 공백으로 채워집니다.
예를 들어, i가 2일 때 {i:3}를 사용하면, 출력은 ' 2'가 됩니다. 여기서 2 앞에 두 개의 공백이 있어서 총 3자리를 차지하게 됩니다. 이는 출력물을 더 깔끔하고 정렬된 형태로 만드는 데 도움이 됩니다.

이와 같은 포맷팅 방식은 테이블, 리스트, 또는 어떤 형태의 데이터를 보기 좋게 출력할 때 유용하게 사용됩니다.

결과(RESULT):

  0 -> '\x00'	  1 -> '\x01'	  2 -> '\x02'	  3 -> '\x03'	
  4 -> '\x04'	  5 -> '\x05'	  6 -> '\x06'	  7 -> '\x07'	
  8 -> '\x08'	  9 -> '\t'	 10 -> '\n'	 11 -> '\x0b'	
 12 -> '\x0c'	 13 -> '\r'	 14 -> '\x0e'	 15 -> '\x0f'	
 16 -> '\x10'	 17 -> '\x11'	 18 -> '\x12'	 19 -> '\x13'	
 20 -> '\x14'	 21 -> '\x15'	 22 -> '\x16'	 23 -> '\x17'	
 24 -> '\x18'	 25 -> '\x19'	 26 -> '\x1a'	 27 -> '\x1b'	
 28 -> '\x1c'	 29 -> '\x1d'	 30 -> '\x1e'	 31 -> '\x1f'	
 32 -> ' '	 33 -> '!'	 34 -> '"'	 35 -> '#'	
 36 -> '$'	 37 -> '%'	 38 -> '&'	 39 -> '''	
 40 -> '('	 41 -> ')'	 42 -> '*'	 43 -> '+'	
 44 -> ','	 45 -> '-'	 46 -> '.'	 47 -> '/'	
 48 -> '0'	 49 -> '1'	 50 -> '2'	 51 -> '3'	
 52 -> '4'	 53 -> '5'	 54 -> '6'	 55 -> '7'	
 56 -> '8'	 57 -> '9'	 58 -> ':'	 59 -> ';'	
 60 -> '<'	 61 -> '='	 62 -> '>'	 63 -> '?'	
 64 -> '@'	 65 -> 'A'	 66 -> 'B'	 67 -> 'C'	
 68 -> 'D'	 69 -> 'E'	 70 -> 'F'	 71 -> 'G'	
 72 -> 'H'	 73 -> 'I'	 74 -> 'J'	 75 -> 'K'	
 76 -> 'L'	 77 -> 'M'	 78 -> 'N'	 79 -> 'O'	
 80 -> 'P'	 81 -> 'Q'	 82 -> 'R'	 83 -> 'S'	
 84 -> 'T'	 85 -> 'U'	 86 -> 'V'	 87 -> 'W'	
 88 -> 'X'	 89 -> 'Y'	 90 -> 'Z'	 91 -> '['	
 92 -> '\\'	 93 -> ']'	 94 -> '^'	 95 -> '_'	
 96 -> '`'	 97 -> 'a'	 98 -> 'b'	 99 -> 'c'	
100 -> 'd'	101 -> 'e'	102 -> 'f'	103 -> 'g'	
104 -> 'h'	105 -> 'i'	106 -> 'j'	107 -> 'k'	
108 -> 'l'	109 -> 'm'	110 -> 'n'	111 -> 'o'	
112 -> 'p'	113 -> 'q'	114 -> 'r'	115 -> 's'	
116 -> 't'	117 -> 'u'	118 -> 'v'	119 -> 'w'	
120 -> 'x'	121 -> 'y'	122 -> 'z'	123 -> '{'	
124 -> '|'	125 -> '}'	126 -> '~'	127 -> '\x7f'

 

2. ord(), chr(), hex()

  1. ord(): 문자를 해당하는 ASCII(또는 유니코드) 값으로 변환합니다. 이 함수는 하나의 문자열을 인자로 받으며, 해당 문자의 ASCII 코드 값을 정수로 반환합니다. 예를 들어, ord('A')는 65를 반환하며, ord('가')는 44032를 반환합니다.
  2. chr(): ASCII(또는 유니코드) 값을 해당하는 문자로 변환합니다. 이 함수는 하나의 정수를 인자로 받으며, 해당 정수에 해당하는 문자를 반환합니다. 예를 들어, chr(65)는 'A'를 반환하며, chr(44032)는 '가'를 반환합니다.

이 두 함수는 문자와 그에 대응하는 코드 값을 변환할 때 유용하게 사용됩니다. 예를 들어, 암호화, 디코딩, 데이터 처리 등에서 문자 데이터를 숫자 형태로 변환하거나 그 반대의 작업을 할 때 사용될 수 있습니다.

간단한 예시를 보여드리겠습니다:

# 문자에서 ASCII 코드로 변환
print(ord('A'))  # 65
print(ord('가'))  # 44032

# ASCII 코드에서 문자로 변환
print(chr(65))  # 'A'
print(chr(44032))  # '가'

print(hex(255))  # '0xff'
print(hex(10))   # '0xa'

1. ord() 함수를 사용한 예제: 문자열의 각 문자에 대한 ASCII 코드 얻기
이 예제에서는 문자열의 각 문자에 대한 ASCII 코드 값을 출력합니다.

text = "Hello"
ascii_values = [ord(char) for char in text]
print(ascii_values)

이 코드는 문자열 "Hello"의 각 문자에 대해 ord() 함수를 사용하여 ASCII 코드 값을 리스트로 만들고 출력합니다.

2. chr() 함수를 사용한 예제: ASCII 코드 값을 문자로 변환하기
이 예제에서는 ASCII 코드 값의 시퀀스를 해당 문자로 변환합니다.

codes = [72, 101, 108, 108, 111]
text = ''.join(chr(code) for code in codes)
print(text)

이 코드는 ASCII 코드 값 리스트 [72, 101, 108, 108, 111]를 문자열 "Hello"로 변환하여 출력합니다.

3. hex() 함수를 사용한 예제: 숫자를 16진수 문자열로 변환하기
이 예제에서는 숫자의 리스트를 16진수 문자열로 변환합니다.

numbers = [10, 255, 48879]
hex_values = [hex(number) for number in numbers]
print(hex_values)

 

마무리

- 이번 포스팅은 ASCII 코드 테이블을 만들고 변환하는 방에 대해 알아봤습니다.

 

궁금한 사항은 댓글을 통해서 남겨 주시면 답변 드리겠습니다.
감사합니다.

 

 

728x90
반응형

+ Recent posts