반응형
파이썬에서 문자열을 아스키 문자와 유니코드 문자로 변환하는 방법은 ord()
와 chr()
함수를 사용하여 쉽게 수행할 수 있습니다. 또한, 파이썬 3에서는 문자열이 기본적으로 유니코드를 사용하므로, 문자열을 다루는 것이 더 편리합니다. 아래에 각각의 방법을 설명하겠습니다.
1. 아스키 문자와 유니코드 값 변환
ord()
함수
ord()
함수는 문자 하나를 아스키(또는 유니코드) 값으로 변환합니다.
char = 'A'
ascii_value = ord(char)
print(ascii_value) # 출력: 65
unicode_char = '가'
unicode_value = ord(unicode_char)
print(unicode_value) # 출력: 44032
chr()
함수
chr()
함수는 아스키(또는 유니코드) 값을 문자로 변환합니다.
ascii_value = 65
char = chr(ascii_value)
print(char) # 출력: A
unicode_value = 44032
unicode_char = chr(unicode_value)
print(unicode_char) # 출력: 가
2. 문자열을 아스키와 유니코드로 변환
문자열을 아스키 값의 리스트로 변환
string = "Hello"
ascii_values = [ord(char) for char in string]
print(ascii_values) # 출력: [72, 101, 108, 108, 111]
아스키 값의 리스트를 문자열로 변환
ascii_values = [72, 101, 108, 108, 111]
string = ''.join(chr(value) for value in ascii_values)
print(string) # 출력: Hello
문자열을 유니코드 값의 리스트로 변환
string = "안녕하세요"
unicode_values = [ord(char) for char in string]
print(unicode_values) # 출력: [50504, 45397, 54616, 49464, 50836]
유니코드 값의 리스트를 문자열로 변환
unicode_values = [50504, 45397, 54616, 49464, 50836]
string = ''.join(chr(value) for value in unicode_values)
print(string) # 출력: 안녕하세요
3. 인코딩과 디코딩
문자열을 바이트로 인코딩
문자열을 특정 인코딩 형식(예: UTF-8)으로 바이트 배열로 변환합니다.
string = "Hello, 세계"
encoded_string = string.encode('utf-8')
print(encoded_string) # 출력: b'Hello, \xec\x84\xb8\xea\xb3\x84'
바이트를 문자열로 디코딩
바이트 배열을 특정 인코딩 형식으로 문자열로 변환합니다.
encoded_string = b'Hello, \xec\x84\xb8\xea\xb3\x84'
decoded_string = encoded_string.decode('utf-8')
print(decoded_string) # 출력: Hello, 세계
요약
ord(char)
: 문자를 아스키(유니코드) 값으로 변환chr(value)
: 아스키(유니코드) 값을 문자로 변환- 문자열을 아스키(유니코드) 값의 리스트로 변환:
[ord(char) for char in string]
- 아스키(유니코드) 값의 리스트를 문자열로 변환:
''.join(chr(value) for value in values)
- 문자열을 바이트로 인코딩:
string.encode(encoding)
- 바이트를 문자열로 디코딩:
byte_array.decode(encoding)
이와 같은 방법을 통해 파이썬에서 문자열을 아스키 및 유니코드 값으로 변환하고, 인코딩과 디코딩을 처리할 수 있습니다.
반응형
'언어 > Python' 카테고리의 다른 글
[ Python ] str 클래스 사용하기 (0) | 2024.06.07 |
---|---|
[ Python ] 문자열 합치기 + join() (0) | 2024.06.07 |
[ Python ] 내장 Keyword 사용하여 문자열 다루기 (0) | 2024.06.07 |
[ Python ] 문자열을 숫자 변환하기, 숫자를 문자열로 변환하기 (0) | 2024.06.06 |
[ Python ] 문자열 사용하기 (0) | 2024.06.06 |