boost-devs / peer-session

🚀 부스트캠프 AI Tech 1기 U-Stage 4조 피어 세션 자료/질문 모음 (archived)
8 stars 2 forks source link

[서폿] NBSP #28

Closed ghost closed 3 years ago

ghost commented 3 years ago

NBSP

U+00A0 NO-BREAK SPACE  

줄 바꿈 없는 공백 또는 단어 잘림 방지 공백 이라고 불리운다 공백 문자의 한 형태로 현 위치에서 자동 줄 바꿈(워드랩)을 막는데 쓰인다


백문이 불여일견

https://user-images.githubusercontent.com/38286295/105852698-21fb2e80-6028-11eb-94e4-fea7f94ff7d2.mov

첫번째 문장은 NBSP 로 이루어져 있기에 중간에 새로 SPACE 가 입력되어 그 줄의 빈칸이 부족해지는 경우, 뒤에 NBSP 로 연결된 모든 단어가 줄바꿈 되는 것을 볼 수 있다

두번재 문장은 SPACE 로 이루어져 있기에 중간에 새로 SPACE 가 입력되어 그 줄의 빈칸이 부족해지는 경우, 맨 마지막 단어만 줄바꿈 되는 것을 볼 수 있다

=> 아마 이러한 특성때문에 단어 잘림 방지 공백 이라고 부르는 것 같다


실험

NBSP = chr(0x00A0)
print(NBSP)  # 
print(' ')  # 
print(NBSP == ' ')  # False

f = open("test.txt", 'w')
f.write("This" + NBSP + "is" + NBSP + "NBSP" + '\n')
f.write("This" + ' ' + "is" + ' ' + "space" + '\n')
f.close()

f = open("test.txt", 'r')
while True:
    line = f.readline()
    if not line:
        break
    print(line.strip())
    print(line.split(' '))
    print(line.split(NBSP))
f.close()
"""
This is NBSP
['This\xa0is\xa0NBSP\n']
['This', 'is', 'NBSP\n']
This is space
['This', 'is', 'space\n']
['This is space\n']
"""

test.txt

Screen Shot 2021-01-26 at 10 48 22 PM

test.txt 에 써진 내용을 textdeit 에다가 복사 붙여넣기 하면 다음과 같이 전혀 차이가 없어 보인다

Screen Shot 2021-01-26 at 10 50 02 PM

그러나 이를 다시 pycharm 에 복사 붙여넣기 하면 NBSP 가 보인다

신기하다~

Heeseok-Jeong commented 3 years ago

nbspspace 랑 다르게 뒤에 문자를 같은 단어로 취급하는군요! 실험에서 와일문 안에 프린트 한 내역도 볼 수 있을까요??