[RUST/COMMON] as 키워드 : 문자 리터럴에서 유니코드 구하기
■ as 키워드를 사용해 타입 변환으로 문자 리터럴에서 유니코드를 구하는 방법을 보여준다. ▶ 예제 코드 (RS)
1 2 3 4 5 |
let unicode = '곰' as u32; println!("{:4x}", unicode); // acf0 |
■ as 키워드를 사용해 타입 변환으로 문자 리터럴에서 유니코드를 구하는 방법을 보여준다. ▶ 예제 코드 (RS)
1 2 3 4 5 |
let unicode = '곰' as u32; println!("{:4x}", unicode); // acf0 |
■ 유니코드 리터럴에서 유니코드 문자 구하기 ▶ 예제 코드 (RS)
1 2 3 4 5 |
let character = '\u{acf0}'; println!("{}", character); // 곰 |
■ TextBlock 엘리먼트의 Text 속성에서 유니코드 문자열을 설정하는 방법을 보여준다. ▶ MainWindow.xaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<Window x:Class="TestProject.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="800" Height="600" Title="TestProject" FontFamily="나눔고딕코딩" FontSize="16"> <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBlock Margin="10" FontSize="48" Text="Ϩ" /> <!-- 10진수 유니코드 --> <TextBlock Margin="10" FontSize="48" Text="Ϩ" /> <!-- 16진수 유니코드 --> </StackPanel> </Window> |
TestProject.zip
■ 이스케이프 유니코드 문자열을 구하는 방법을 보여준다. ▶ Program.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
using System; using System.Globalization; using System.Text; using System.Text.RegularExpressions; namespace TestProject { /// <summary> /// 프로그램 /// </summary> class Program { //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Static //////////////////////////////////////////////////////////////////////////////// Private #region 이스케이프 유니코드 문자열 구하기 - GetEscapedUnicodeString(sourceString) /// <summary> /// 이스케이프 유니코드 문자열 구하기 /// </summary> /// <param name="sourceString">소스 문자열</param> /// <returns>이스케이프 유니코드 문자열</returns> private static string GetEscapedUnicodeString(string sourceString) { StringBuilder stringBuilder = new StringBuilder(); foreach(char sourceCharacter in sourceString) { if(sourceCharacter > 127) { string encodedValue = "\\u" + ((int)sourceCharacter).ToString("x4"); stringBuilder.Append(encodedValue); } else { stringBuilder.Append(sourceCharacter); } } return stringBuilder.ToString(); } #endregion #region 비 이스케이프 유니코드 문자열 구하기 - GetNonEscapedUnicodeString(sourceEscapedUnicodeString) /// <summary> /// 비 이스케이프 유니코드 문자열 구하기 /// </summary> /// <param name="sourceEscapedUnicodeString">소스 이스케이프 유니코드 문자열</param> /// <returns>비 이스케이프 유니코드 문자열</returns> private static string GetNonEscapedUnicodeString(string sourceEscapedUnicodeString) { return Regex.Replace ( sourceEscapedUnicodeString, @"\\u(?<Value>[a-zA-Z0-9]{4})", m => { return ((char)int.Parse(m.Groups["Value"].Value, NumberStyles.HexNumber)).ToString(); } ); } #endregion #region 프로그램 시작하기 - Main() /// <summary> /// 프로그램 시작하기 /// </summary> private static void Main() { string source = "\u03a0"; Console.WriteLine($"소스 문자열 : {source}"); string escapedUncodeString = GetEscapedUnicodeString(source); Console.WriteLine($"이스케이프 유니코드 문자열 : {escapedUncodeString}"); string nonEscapedUnicodeString = GetNonEscapedUnicodeString(escapedUncodeString); Console.WriteLine($"유니코드 문자열 : {nonEscapedUnicodeString}"); } #endregion } } |
TestProject.zip
■ Label 엘리먼트에서 유니코드 개행 문자를 사용하는 방법을 보여준다. ▶ MainPage.xaml
1 2 3 4 5 6 7 8 9 10 11 |
<?xml version="1.0" encoding="utf-8" ?> <ContentPage x:Class="TestProject.MainPage" xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"> <Label HorizontalOptions="Center" VerticalOptions="Center" Text="First line Second line" /> </ContentPage> |
TestProject.zip
■ 너비가 0인 공백 문자를 제거하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 |
using System.Text; string source; ... StringBuilder stringBuilder = new StringBuilder(source); stringBuilder.Replace("\u200B", string.Empty); // 8203 |
■ Encoding 클래스를 사용해 유니코드 문자열 여부를 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
using System.Text; #region 유니코드 문자열 여부 구하기 - IsUnicodeString(source) /// <summary> /// 유니코드 문자열 여부 구하기 /// </summary> /// <param name="source">소스 문자열</param> /// <returns>유니코드 문자열 여부</returns> public bool IsUnicodeString(string source) { int asciiByteCount = Encoding.ASCII.GetByteCount(source); int unicodeByteCount = Encoding.UTF8.GetByteCount(source); return asciiByteCount != unicodeByteCount; } #endregion |
■ UNISTR 함수를 사용해 유니코드 문자열을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 |
SELECT UNISTR('Corner? What corner?') FROM DUAL; SELECT UNISTR('\00E3' ) FROM DUAL; |
■ 유니코드 문자를 조회하는 방법을 보여준다. ▶ MainForm.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
using System; using System.Drawing; using System.Text; using System.Windows.Forms; namespace TestProject { /// <summary> /// 메인 폼 /// </summary> public partial class MainForm : Form { //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public #region 생성자 - MainForm() /// <summary> /// 생성자 /// </summary> public MainForm() { InitializeComponent(); #region 이벤트를 설정한다. this.searchButton.Click += searchButton_Click; this.characterTextBox.MouseMove += characterTextBox_MouseMove; #endregion } #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Private //////////////////////////////////////////////////////////////////////////////// Event #region 조회 버튼 클릭시 처리하기 - searchButton_Click(sender, e) /// <summary> /// 조회 버튼 클릭시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void searchButton_Click(object sender, EventArgs e) { this.characterTextBox.Clear(); this.characterCodeTextBox.Clear(); this.sampleLabel.Text = string.Empty; Cursor = Cursors.WaitCursor; Refresh(); float fontSize = float.Parse(this.fontSizeTextBox.Text); Font font = new Font("Times New Roman", fontSize); this.characterTextBox.Font = font; this.sampleLabel.Font = font; int startCode = int.Parse(this.startCharacterTextBox.Text); int endCode = int.Parse(this.endCharacterTextBox.Text ); StringBuilder stringBuilder = new StringBuilder(); for(int i = startCode; i <= endCode; i++) { stringBuilder.Append(((char)i).ToString()); } this.characterTextBox.Text = stringBuilder.ToString(); this.characterTextBox.Select(0, 0); Cursor = Cursors.Default; } #endregion #region 문자 텍스트 박스 마우스 이동시 처리하기 - characterTextBox_MouseMove(sender, e) /// <summary> /// 문자 텍스트 박스 마우스 이동시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void characterTextBox_MouseMove(object sender, MouseEventArgs e) { char character = this.characterTextBox.GetCharFromPosition(e.Location); this.sampleLabel.Text = character.ToString(); this.characterCodeTextBox.Text = ((int)character).ToString(); } #endregion } } |
TestProject.zip
■ 유니코드 카테고리를 구하는 방법을 보여준다. ▶ 유니코드 카테고리 구하기 예제 (C#)
1 2 3 4 5 6 7 |
using System; UnicodeCategory result = GetUnicodeCategory('한'); Console.WriteLine(result); |
▶ 유니코드 카테고리 구하기 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using System.Globalization; #region 유니코드 카테고리 구하기 - GetUnicodeCategory(source) /// <summary> /// 유니코드 카테고리 구하기 /// </summary> /// <param name="source">소스 문자</param> /// <returns>유니코드 카테고리</returns> public UnicodeCategory GetUnicodeCategory(char source) { UnicodeCategory result = char.GetUnicodeCategory(source); return result; } #endregion |
■ 유니코드 카테고리를 구하는 방법을 보여준다. ▶ 유니코드 카테고리 구하기 예제 (C#)
1 2 3 4 5 6 7 |
using System; UnicodeCategory result = GetUnicodeCategory('한'); Console.WriteLine(result); |
▶ 유니코드 카테고리 구하기 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using System.Globalization; #region 유니코드 카테고리 구하기 - GetUnicodeCategory(source) /// <summary> /// 유니코드 카테고리 구하기 /// </summary> /// <param name="source">소스 문자</param> /// <returns>유니코드 카테고리</returns> public UnicodeCategory GetUnicodeCategory(char source) { UnicodeCategory result = char.GetUnicodeCategory(source); return result; } #endregion |
■ ord 함수를 사용해 문자의 아스키 코드를 구하는 방법을 보여준다. ▶ 예제 코드 (PY)
1 2 3 4 5 6 7 |
print(ord("가")) """ 44032 """ |
■ chr 함수를 사용해 유니코드로 문자를 구하는 방법을 보여준다. ▶ 예제 코드 (PY)
1 2 3 4 5 6 7 |
print(chr(44032)) """ 가 """ |
■ 한글 유니코드 표를 보여준다. 44032 : 가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘같갚갛 : 44059 44060 : 개객갞갟갠갡갢갣갤갥갦갧갨갩갪갫갬갭갮갯갰갱갲갳갴갵갶갷 : 44087 44088 : 갸갹갺갻갼갽갾갿걀걁걂걃걄걅걆걇걈걉걊걋걌걍걎걏걐걑걒걓 : 44115 44116 :