파이썬, 문자길이, 그리고 바이트

Jay
2 min readMar 8, 2019

--

알파벳은 1, 한글은 2 인 것은?

바로 한글자의 가로길이

abcdefgh = 8글자
가나다라 = 4글자

그래서 파이썬에서 위에 글자를 세면

eng = 'abcdefgh'
kor = '가나다라'
len(eng)
# 8
len(kor)
# 4

이렇게 나온다.

그러나 예를들어 GUI프로그래밍을 하는경우 text박스 사이즈를 정하는 것은 영어/숫자으 가로길이를 이용하여 정한다.

한글 = 2 영어 = 1
width=5, height=2
한글이 4글자 밖에 들어가지 못한다

text안에 영어 한글 숫자가 혼합되어 있는 경우 절대적인 길이를 구하는 것은 더욱 어렵다

text = 'BTS는 방탄소년단, 7인조그룹'
len(text)
#17

len 함수로는 정확한 길이를 잴 수가 없다.

이게 왜 문제가 되냐면, input character의 개수로는 text box의 사이즈를 결정할 수가 없기 때문이다.

해결책 : Byte 를구하자

text = 'BTS는 방탄소년단, 7인조그룹'
len(text.encode())
#37

--

--

Jay
Jay

Written by Jay

Brain Neural Network : Where neuroscience meets machine learning

Responses (1)