2014-11-13 4 views
0

원격 서버와 통신하는 iOS 응용 프로그램을 구축 중입니다. 이 경우 SSH를 사용하여 명령을 실행하지만 서버에서 오는 응답은 16 진수로 표시됩니다. 원격 서버에서 응답을 처리하기위한 내 위임 기능이있는 NSString으로 응답 인수를, 그러나,이 사실 16 진수 인 경우Objective-C ANSI 색상 제어 코드 제거

ls /\r\n\x1b[0m\x1b[01;34mbin\x1b[0m \x1b[01;34mdev\x1b[0m \x1b[01;36minitrd.img\x1b[0m   \x1b[01;34mlib64\x1b[0m  \x1b[01;34mmnt\x1b[0m \x1b[01;34mroot\x1b[0m \x1b[01;34msrv\x1b[0m \x1b[01;34musr\x1b[0m\r\n\x1b[01;34mboot\x1b[0m \x1b[01;34metc\x1b[0m \x1b[01;36minitrd.img.old\x1b[0m \x1b[01;34mlost+found\x1b[0m \x1b[01;34mopt\x1b[0m \x1b[01;34mrun\x1b[0m \x1b[01;34msys\x1b[0m \x1b[01;34mvar\x1b[0m\r\n\x1b[01;34mcdrom\x1b[0m \x1b[01;34mhome\x1b[0m \x1b[01;34mlib\x1b[0m    \x1b[01;34mmedia\x1b[0m  \x1b[01;34mproc\x1b[0m \x1b[01;34msbin\x1b[0m \x1b[30;42mtmp\x1b[0m \x1b[01;36mvmlinuz\x1b[0m' 

(명령은 "LS /"이었다 실행) 문자열의 내용이 반환된다 , 어떻게 이것을 다시 표시 목적으로 읽을 수있는 문자열로 변환할까요? 16 진수가 아니라면 누구나 그게 무엇인지 알 수 있습니까?

편집 :이 이후

, 그들을 제거하는 가장 좋은 방법은 무엇 ANSI 컬러 제어 코드의입니까? 명령

$ \ls 

의 시작

+4

사람들은 ANSI 착색 제어 코드이다 핸들링 제공한다. –

+1

예, 터미널 유형을 매우 평범한 것으로 설정하려고합니다. SSH 연결을 설정하는 동안 전달할 수있는 매개 변수가 있어야합니다. vt100을 사용해 보시겠습니까? –

+0

'ls /'를 실행하는 대신'ls --no-color /'를 실행하십시오. –

답변

1

앞에 추가 "\"또는 이스케이프 시퀀스 (스트립 디스플레이)

+0

선생님은 성도이며 학자입니다. 매우 감사! – AndrewSmiley