티스토리
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()
- ord(): 문자를 해당하는 ASCII(또는 유니코드) 값으로 변환합니다. 이 함수는 하나의 문자열을 인자로 받으며, 해당 문자의 ASCII 코드 값을 정수로 반환합니다. 예를 들어, ord('A')는 65를 반환하며, ord('가')는 44032를 반환합니다.
- 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 코드 테이블을 만들고 변환하는 방에 대해 알아봤습니다.
궁금한 사항은 댓글을 통해서 남겨 주시면 답변 드리겠습니다.
감사합니다.
'PYTHON 파이썬' 카테고리의 다른 글
Python Convert CSV file to list type(CSV파일 리스트 타입변환) (0) | 2024.02.21 |
---|---|
[PYTHON/UNITTEST] Simple and Easy example Code (0) | 2024.02.19 |
파이썬 온라인 개발 툴,컴파일러 : Replit.com Online IDE Compiler (0) | 2024.01.07 |
[Python] 숫자 맞추기(Number Guessing Game) , random 난수 생성 모듈 (1) | 2024.01.07 |
[파이썬] 임의의 숫자(난수) random 모듈의 기, 랜덤 숫자 만들기 (1) | 2024.01.07 |