programing

콘솔에 유니코드 문자를 쓰는 방법

telebox 2023. 4. 7. 21:08
반응형

콘솔에 유니코드 문자를 쓰는 방법

콘솔 어플리케이션에서 다음과 같은 문자를 쓸 수 있는지 궁금합니다.사용.NET. 이 문자를 쓰려고 하면 콘솔에 물음표가 출력됩니다.

출력 부호화가 ASCII로 설정되어 있을 가능성이 있습니다.출력을 전송하기 전에 다음을 사용해 보십시오.

Console.OutputEncoding = System.Text.Encoding.UTF8;

(MSDN 링크는 지원 매뉴얼에 접속합니다).

여기 콘솔 테스트 앱이 있습니다.

C#

using System;
using System.Text;

public static class ConsoleOutputTest {
    public static void Main() {
        Console.OutputEncoding = System.Text.Encoding.UTF8;
        for (var i = 0; i <= 1000; i++) {
            Console.Write(Strings.ChrW(i));
            if (i % 50 == 0) { // break every 50 chars
                Console.WriteLine();
            }
        }
        Console.ReadKey();
    }
}

VB.NET

imports Microsoft.VisualBasic
imports System

public module ConsoleOutputTest 
    Sub Main()
        Console.OutputEncoding = System.Text.Encoding.UTF8
        dim i as integer
        for i = 0 to 1000
            Console.Write(ChrW(i))
            if i mod 50 = 0 'break every 50 chars 
                Console.WriteLine()
            end if
        next
    Console.ReadKey()
    End Sub
end module

선택한 콘솔 글꼴이 해당 문자를 지원하지 않을 수도 있습니다.[ Windows Tool - bar Menu ](C:와 같은 아이콘)을 클릭하여 [Properties]-> [ Font ]를 선택합니다.다른 글꼴에 문자가 올바르게 표시되는지 확인합니다.

콘솔 글꼴 편집 이미지

MSDN에서 우아한 해결책을 찾았습니다.

System.Console.Write('\uXXXX') //XXXX is hex Unicode for character

이 간단한 프로그램은 화면에 바로 ℃라고 적습니다.

using System;

public class Test
{
    public static void Main()
    {
        Console.Write('\u2103'); //℃ character code
    }
}

게다가.Console.OutputEncoding = System.Text.Encoding.UTF8;

일부 문자의 경우 추가 글꼴을 설치해야 합니다(예:중국어)

Windows 10 에서는, 우선 「지역 및 언어 설정」으로 이동해, 필요한 언어의 서포트를 인스톨 합니다.여기에 이미지 설명 입력

그런 다음 Command Prompt Properties(또는 원하는 경우 Defaults(기본값))로 이동하여 언어를 지원하는 글꼴을 선택할 수 있습니다(KaiTi(중국어의 경우) ).여기에 이미지 설명 입력

이것으로, 다음의 조작을 실시합니다.

콘솔OutputEncoding 속성

https://learn.microsoft.com/en-us/dotnet/api/system.console.outputencoding

콘솔에 Unicode 문자를 올바르게 표시하려면 다음 사항이 필요합니다.

  • 콘솔은 문자를 표시하려면 Lucida Console이나 Consoleas 등의 TrueType 글꼴을 사용해야 합니다.

이것으로 충분합니다.

Console.OutputEncoding = System.Text.Encoding.Default;

일부 기호를 표시하려면 명령 프롬프트 글꼴을 Lucida Console로 설정해야 합니다.

  1. 명령 프롬프트 열기

  2. 명령 프롬프트 상단 바를 오른쪽 클릭합니다.

  3. [ Properties ]을 클릭합니다.

  4. 글꼴이 Raster Fonts로 설정되어 있는 경우 Lucida Console로 변경합니다.

언급URL : https://stackoverflow.com/questions/5750203/how-to-write-unicode-characters-to-the-console

반응형