1

텍스트 모드 게임을 만들고 있는데 분명히 C#에서 중요한 문자를 표시하는 데 문제가 있습니다. 그들은 코드 페이지 CP437에서 온,하지만 난 437 코드 페이지를 설정 한 경우에도 :코드 페이지 437의 이전 DOS 문자가 잘못 표시되었습니다.

Console.OutputEncoding = Encoding.GetEncoding(437); 

내가 필요로 문자를 인쇄 할 때 내가 볼 수있는 유일한 방법은 "????" (일부 물음표), 마치 Visual Studio의 콘솔이 그들을 인쇄 할 수없는 것처럼. 필요한 문자는 0xB0, 0xB1, 0xB2, 0xDB입니다.

현재이 인코딩에는 256 자 모두가 인쇄되어 훨씬 더 많은 문자가 "?"로 표시됩니다.

TIA.

+1

.NET 콘솔 버전 4까지는 특수 문자를 표시하는 데 문제가 있습니다. 4.5로 업그레이드 할 수 있습니까? –

+1

예를 들어 콘솔에서 Lucida로 글꼴을 변경하려고 했습니까? 글꼴은 지원하는 문자 수가 다릅니다. –

답변

2

콘솔의 기본 코드 페이지는 이미 437입니다. 가장 자주 발생하는 오류 모드는 실제로 해당 문자의 유니 코드 버전 대신 0xb0 등을 쓰려고합니다. U + 0080에서 U + 00ff 사이의 많은 코드 포인트는 할당되지 않았거나 437 페이지에서 해당 문자가 없습니다.

코드 페이지 437의 0xb0은 '\ u2591 '귀하의 C# 코드. 코드는 this page을 확인하십시오.

관련 문제