본문 바로가기

오늘의 공부/코딩테스트

[code up] 1008 : [기초-출력] 출력하기08

이번에는 특수문자를 출력하는 연습을 해보자.

키보드로 입력할 수 없는 다음 모양을 출력해보자.
(** 참고 : 운영체제의 문자 시스템에 따라 아래와 같은 모양이 출력되지 않을 수 있다.)

┌┬┐
├┼┤
└┴┘

참고
다음과 같은 유니코드로 특수문자를 표현한다고 하자.
(운영체제 또는 컴파일러에 따라 사용되는 문자의 코드표가 다르다.)

 

 

--------------------------------------------------------------

 

문자 인코딩

문자를 입출력할 때 컴퓨터가 이해할 수 있도록 부호화하고, 인간이 이해할 수 있도록 복호화 하는 문자 인코딩 과정이 필요하다.

 

문자셋은

ASCII 코드처럼 문자를 더이상 추가할 수 없는 경우와

UNICODE 처럼 문자를 계속 추가할 수 있는 경우가 존재한다.

 

Q. 왜 ASCII 코드는 문자를 추가할 수 없고 unicode 는 문자를 추가할 수 있을까?

아스키코드는 1바이트만 이용(SBCS:Single-Byte Character Set), 유니코드는 여러 바이트를 이용함(MBCS:Multi-Byte Character Set)

 

문자 인코딩 형태

특정 문자 집합 안의 문자를 컴퓨터에게 읽힐 목적으로 일정한 범위 안의 정수값을 변환하는 방법.

UTF-8 : 8 bit 숫자의 집합으로 나타냄

UTF-16 : 16 bit 숫자의 집합으로 나타냄

Q. 8비트, 16비트의 차이는 무엇이고 어디에 사용되는가?

?.?

 

UTF 는 몇 비트를 인덱스로 사용함 인덱스로 사용하는 비트 수는 - 뒤의 숫자임.

 

 

--------------------------------------------------

python 문자 인코딩 코드 짜기

 

ㅁ 아스키 코드 변환: 

#문자-> 아스키코드
s = 's'
askii_s = ord(s)
print( askii_s )

>>115

 

#아스키코드 -> 문자
character_s = chr(askii_s)
print( character_s )

>> 's'

 

 

ㅁ 유니코드 변환

# 특수 문자의 데이터 이름 반환:
s = '┌'
print(s)
print(unicodedata.name(s))

>>BOX DRAWINGS LIGHT DOWN AND RIGHT

 

 

# 특수문자의 데이터 이름으로 해당 문자를 반환:
print
( unicodedata.lookup('BOX DRAWINGS LIGHT DOWN AND RIGHT'))

>>

 

#특수문자를 utf 형태로 인코딩 :  
_s = s.encode('utf-8')
print(_s)

>>b'\xe2\x94\x8c'

 

#특수문자를 utf 형태로 디코딩 :  
__s = _s.decode('utf-8')
print(__s)

>>

 

 

ㅁ 유니코드 문자표에서 하나하나 찾기

 

print('\u250C')

>>

 

 

도움이 되는 블로그

https://redscreen.tistory.com/163

'오늘의 공부 > 코딩테스트' 카테고리의 다른 글

[프로그래머스] 조이스틱  (0) 2020.02.26
[프로그래머스] level 1 - 체육복  (0) 2020.02.26
[python] 진수 표현법  (0) 2020.02.17
[code up] 변수 출력하기  (0) 2020.02.16
[code up] 기초 100제  (0) 2020.02.16