2011-12-16 3 views
9

프로그래밍에서 유니 코드 문자 '백 스페이스'(U + 0008)의 목적은 무엇입니까? 어떤 응용 프로그램을 사용할 수 있습니까?유니 코드 "백 스페이스"U + 0008의 목적은 무엇입니까?

+3

특정 유니 코드 심볼의 용도를 결정할 수없는 경우 U + 2603 및 U + 1F4A9와 마찬가지로 "개인용 엔터테인먼트"범주로 이동합니다. :-) –

+1

실제로 두 문자 모두를위한 진정한 목적이 있습니다. 문자를 포함하는 다른 문자 세트 (이 경우 모두 일본인 출신)와의 완벽한 호환성. – duskwuff

답변

12

음, 백 스페이스 문자입니다.

터미널로 출력 할 때 일반적으로 설정에 따라 커서를 한 위치 왼쪽으로 이동합니다. 입력시 DEL/DELETE 문자가이 용도로 사용되지만 일반적으로 마지막으로 입력 한 문자가 응용 프로그램 및 터미널 설정에 따라 지워집니다. 전형적으로는 백 스페이스 문자의 삭제 동작이없는 메모리에만 디스플레이 상에 발생하거나제어-H

참고 눌러 입력 할 수있다. 실행중인 프로그램 내의 문자열에는 백 스페이스를 포함하여 모든 문자 시퀀스 (언어에 따라 다를 수 있음)가 포함될 수 있습니다. 그 맥락에서, 그것은 일반적으로 또 다른 성격입니다. 예를 들어, C strlen("abcd\b")은 5가 아니라 3입니다.

C 및 기타 많은 언어에서 프로그램 소스에 '\b'으로 표시됩니다. 때때로 ^H으로 표시됩니다.

이 모든 것이 유니 코드로 표시되는지 여부에 관계없이 적용됩니다. ASCII, Latin-1, 다양한 유니 코드 표현 - EBCDIC에도 백 스페이스 문자가 있지만 (코드는 다르지만) 백 스페이스 문자는 대부분 또는 모든 문자 세트에 공통적으로 사용됩니다.

+0

문자열에 \ b를 추가하는 것이 string = substring() 또는 무엇인가를 호출하는 것보다 효율적입니까? "this \ b"문자열의 길이는 3 또는 5입니까? – skibulk

+2

' "this \ b"'는 길이가 5입니다. 문자열에 백 스페이스 문자를 추가해도 문자열에서 문자가 제거되지 않습니다. 문자를 삭제하는 동작은 메모리가 아닌 디스플레이에서 발생합니다. –

+1

'\ b'가 화면 대신에 프린터에 쓰여질 때, 삭제 대신에 겹쳐 쓰는 것을주의하십시오. 이것은 밑줄 (A \ b_'), 굵은 글씨 (A \ bA') 또는 악센트 부호 문자 ('n \ b ~')를 구현하는 원시적 인 방법을 허용했습니다. – dan04