혹시 인터넷에서 이런 그림을 본 적이 있는가?? 축구선수 리오넬 메시의 얼굴을 닮은듯 한 이 그림은 최근 X날두가 한국 팬들에게 큰 실망을 주고 돌아가는 바람에 호날X 인스타그램에 그를 비난하는 의미로 도배 되고 있는 재미있는 그림이다.

No image

그런데 자세히 보면 단순한 그림이 아니란 것을 알 수 있다. 다양한 문자와 공백으로 이루어진 일종의 문자열(String)인데, 이것을 부르는 이름이 바로 아스키 아트(ASCII Art)1이다. 위키피디아의 설명을 인용하자면 다음과 같다.

아스키 아트(ASCII Art)란 아스키 코드 0x20~0x7e에 포함되는 문자, 기호를 사용한 그림을 말한다. 텍스트 아트, 문자그림으로도 불리며, 영문 이름 첫자를 줄인 AA로 지칭되기도 한다.1

그렇다. 0x20(Space) 부터 0x7e(~) 까지이다. 128문자를 다 사용할 수는 없다. 0~31, 127번은 제어 문자이기 때문에 출력할 수가 없다. (그럼에도 포스트 제목이 128개의 문자인 이유는 그냥 아스키 하면 128이니까…)

 

No image

앗 이것은?! 우리에게 너무나 익숙한 아스키 테이블이다! 개발할 때 ‘A’가 65번 인지 97번 인지 자꾸 헷갈려 찾아 보았던 바로 그 아스키 테이블! 0번 NUL부터 127번 DEL까지 128개의 문자가 저 마다 고유한 번호를 가지고 있는 것을 볼 수 있다.

이런 아스키 문자들을 조합해 재미있는 그림이나 글자를 표현한 것을 아스키 아트라고 말하는 것이다.

 

# To infinity and beyond
 _____       _        __ _       _ _                    
|_   _|     (_)      / _(_)     (_) |                   
  | | ___    _ _ __ | |_ _ _ __  _| |_ _   _            
  | |/ _ \  | | '_ \|  _| | '_ \| | __| | | |           
  | | (_) | | | | | | | | | | | | | |_| |_| |           
  \_/\___/  |_|_| |_|_| |_|_| |_|_|\__|\__, |           
                                        __/ |           
                                       |___/            
                 _   _                                _ 
                | | | |                              | |
  __ _ _ __   __| | | |__   ___ _   _  ___  _ __   __| |
 / _` | '_ \ / _` | | '_ \ / _ \ | | |/ _ \| '_ \ / _` |
| (_| | | | | (_| | | |_) |  __/ |_| | (_) | | | | (_| |
 \__,_|_| |_|\__,_| |_.__/ \___|\__, |\___/|_| |_|\__,_|
                                 __/ |                  
                                |___/                   

 

특히 글자나 문장을 아스키 아트로 만들어 입체적으로 표현하는 행위는 개발자 도구나 터미널 앱을 사용하다 보면 종종 발견할 수 있다.

No image 최고 인기 프레임워크 스프링에서는 bootRun을 하면 아스키 아트가 개발자를 반겨 주었고,

No image 쿠팡은 브라우저 개발자 콘솔을 열면 아스키 아트와 함께 개발자 채용 링크를 출력하였으며,

No image

우주 최강 갑부 제프 베조스의 아마존닷컴에도 아스키 아트는 존재했던 것이다! (meow는 야옹인데 그림은 오리인 것이 핵심이다!)

그렇다면 이런 아스키 아트는 직접 하나하나 타이핑해서 만드는 걸까? 굉장히 노가다 일 것 같은데… 다행히도 아스키 아트를 만들어주는 프로그램이 있다. 웹 사이트, CLI 프로그램 등 찾아보면 많이 나온다. 그럼 오늘은 Text를 ASCII Art로 바꿔주는 웹 사이트 하나를 소개하고 이 포스트를 마치도록 하겠다.

http://patorjk.com/software/taag No image

본인만의 ASCII Art를 만들어서 재밌게 활용해 보시길…

(ASCII Art 이외에도 ANSI Art, Unicode Art 역시 존재한다.)