ANSI 이스케이프 코드를 사용하여 터미널 커서의 문자를 가져올 수 있습니까?

ANSI 이스케이프 코드를 사용하여 터미널 커서의 문자를 가져올 수 있습니까?

이스케이프 코드를 사용하여 커서를 이동하고 커서에 인쇄할 수도 있다는 것을 알고 있습니다. 커서 아래로 문자를 끌어오는 것이 가능한지 궁금합니다.

해당 코드를 찾아보았지만 실패했습니다. 그래서 이것이 가능할 것 같지는 않지만 혹시 제가 찾지 못한 방법이 있는지 여쭤보고 싶었습니다.

답변1

curses라이브러리나 이에 상응하는 것을 사용하도록 터미널 에뮬레이터를 수정하지 않는 한 이는 불가능합니다 .

답변2

이스케이프 시퀀스를 사용 DECRQCRA하면 직사각형 영역의 체크섬을 쿼리할 수 있습니다.

체크섬은 기본적으로 거기에 있는 문자 코드의 합계입니다. 1×1 직사각형 영역을 선택하면... bamm, 그것이 문자 코드입니다.

예를 들어 테스트 스위트에서는 이 기능을 사용합니다 esctest.

현재로서는 모든 터미널이 이를 지원하는 것은 아닙니다. 어떤 사람들은 게으름 때문에 이 기능을 구현하지 않습니다(아무도 실제로 이 기능이 필요하지 않습니다). 일부 사람들은 개인 정보 보호/보안상의 이유로 의도적으로 이를 구현하지 않습니다( // ssh손상된 원격 시스템에 연결하면 화면을 보고 이전 상태를 볼 수 있습니다). 일부는 실행할 수 있도록 일종의 개발자 플래그를 적용하지만 기본적으로 개인 정보 보호/보안 취약점을 열지 않습니다.telnetnetcatesctest

관련 정보