728x90
반응형
728x170
▶ Program.cs
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
}
}
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] Marshal 클래스 : Copy 정적 메소드를 사용해 문자열을 fixed char 필드에 복사하기 (0) | 2022.05.25 |
---|---|
[C#/COMMON] DynamicMethod 클래스 : Invoke 메소드를 사용해 구조체 크기 구하기 (0) | 2022.05.25 |
[C#/COMMON] MemoryMappedFile 클래스 : CreateNew 정적 메소드를 사용해 시스템 메모리에서 메모리 매핑 파일 만들기 (0) | 2022.05.25 |
[C#/COMMON/.NET5] 콘솔 폰트 설정하기 (0) | 2022.05.24 |
[C#/COMMON] WebClient 클라이언트 : 서버 인코딩 타입에 맞춰 문자열 다운로드하기 (0) | 2022.05.24 |
[C#/COMMON] Process 클래스 : 원격 데스크톱 실행하기 (0) | 2022.05.13 |
[C#/COMMON] Process 클래스 : 원격 데스크톱 계정 등록하기 (0) | 2022.05.13 |
[C#/COMMON] Regex 클래스 : Replace 정적 메소드를 사용해 한글 문자열 구하기 (0) | 2022.05.13 |
[C#/COMMON] IPAddress 클래스 : HostToNetworkOrder/NetworkToHostOrder 정적 메소드를 사용해 리틀 엔디안/빅 엔디안 값 변환하기 (0) | 2022.05.13 |
[C#/COMMON/.NET6] GRPC 스트리밍 사용하기 (0) | 2022.05.05 |
댓글을 달아 주세요