C# WPF 유니코드 표현하기 (유니코드 재생, 일시정지, 정지, 녹음 표현)

반응형

WPF Label에서 다양한 문자형태를 표현하기 위해서

유니코드의 활용이 필요할 수 있습니다.

1. xaml에서 유니코드 문자 넣기

<Button Name="pause" Content="&#10074;&#10074;" HorizontalAlignment="Left" Margin="145,34,0,0" VerticalAlignment="Top" Width="47" Height="25" />

다음과 같은 형태로 해당 Control의 Content에 문자열 입력하듯이 유니코드문자를 넣어주면

해당하는 유니코드가 나오게 됩니다.

이처럼 마크업언어 중 html, xml, xml을 기반으로 하고 있는 xaml에서

ISO/IEC 10646 문자세트와 유니코드를 표현하기 위해서는

 &로 시작하여 ;기호를 구분자로 한 유니코드 표현법을 사용해야 합니다.

 

반면에 C# 코딩의 경우

xml 유니코드 표현법을 그대로 따르게 되면

결과는 아래와 같이 유니코드가 변환되지 않고 그대로 출력됩니다.

 

2. C# 코드에서 유니코드 문자 넣기

pause.Content = "\u275A\u275A";

다음과 같이 C# 코드에서는

해당문자가 유니코드문자로 간주되도록 하려면

유니코드 이스케이프 시퀀스(Unicode Escape Sequence) 표현법을 사용해야 합니다.

유니코드 이스케이프 시퀀스는 \u로 시작하여 16진수를 붙여 사용할 수 있는데요.

 

아래에는 간단하게 재생, 일시정지, 정지, 녹음에 대응하는 

유니코드 기호별 xml코드 표기법과 이스케이프시퀀스 표기법입니다.

 

 xml코드 상에서 표기법

 이스케이프시퀀스 표기법

 재생 (▶ 또는 ►)

 &#9654;또는 &#9658;

\u25B6 또는 \u25BA

 일시정지 ( ❚❚ )

 &#10074;&#10074;

\u275A \u275A

 정지 ( ⬛ )

 &#11035; 

\u2B1B

 녹음 ( ⬤ )

 &#11044;  

\u2B24

반응형