2016-08-18 2 views
0

나는 콘솔에 출력 아스키이 간단한 코드 건너 온 :인쇄 할 수없는 Ascii 문자를 표시하는 방법은 무엇입니까?

Console.Write((char)1); //Output ☺ 

것은 내가 RasterFonts에 콘솔의 글꼴을 변경하는 경우에만 작동하며, 그것은 추한. 저 오래된 텍스트 기반의 게임을 보시고, 어떻게 이처럼 아스키 아트를 그리셨습니까?

The Amazing Adventures of ANSI Dude

Snipes 어떻게 그 콘솔에 좋은 아스키을 그릴 수 있습니까?

+1

유니 코드를 사용하면 유니 코드를 사용하면 훨씬 쉽습니다. "\ u263a"는 찾고있는 얼굴을, 테이블 그림 문자는 http://unicode-table.com/en/blocks/box-drawing/나머지를 처리합니다. –

+0

잘 빠르며, 정말 고마워요, 예상대로 작동합니다! :) – Maxwell

+0

@AlexeiLevenkov와 동의하십시오. '☺'을 원하면 '☺'(또는 '\ u263a') 만 사용하십시오. '\ u0001 \'을 사용하면 '\ u263a'와 '\ u0001 \'에서 CP437 코드 포인트 1까지 역사적으로 편리한 다중 매핑을 사용합니다. –

답변

1

ASCII characters을 사용하도록 제한되지 않는 한 적절한 유니 코드 문자를 사용해야합니다. 제어 문자 (0-31)를 인쇄 가능한 문자에 매핑하는 것과 충돌 할 가능성이 없으며 .Net String 형식으로 줄과 테두리를 직접 사용할 수 있습니다 (줄과 테두리는 "확장 ASCII"의 일부이며 직접 매핑되지 않기 때문에). 유니 코드 문자는 일반 7 비트 ASCII 코드와 달리 1-127).

유니 코드 "\u263a"은 찾고있는 얼굴을 생성합니다. 유니 코드 box drawing range의 사용 문자를 그리는 테두리와 선은 더 많은 문자에 대해서는 전체 테이블 http://unicode.org/charts/을 참조하십시오.

+0

자세한 답변을 주셔서 감사합니다. 일부 유니 코드 문자 만 표시 "?"... 그 좋은 찾고 문자를 얻을 수있는 방법이 있다면 궁금해! 유니 코드로 체스 게임을 할 생각 이었지만 작동하지 않습니다! – Maxwell

+0

@SirMaxwell 모든 글꼴이 모든 문자를 지원하는 것은 아닙니다. "Segoe UI"(Windows를 사용한다고 가정)는 일반적으로 대부분의 범위를 지원합니다. –

+0

오 하 고 그것을 구현하는 긴 낮은 수준의 코드를 작성하지 않고 콘솔에서 해당 글꼴을 사용하는 방법은 무엇입니까? – Maxwell

관련 문제