C# 11: u8 접미어 (UTF-8 문자열 리터럴 접미어)
C#/.NET에서는 문자열(string)을 저장할 때, 기본적으로 UTF-16 인코딩 방식을 사용한다.
하지만, 웹 프로토콜이나 주요 라이브러리 등에서는 UTF-8 인코딩을 널리 사용하고 있다.
C# 11 부터 이러한 UTF-8 인코딩을 보다 편리하게 지원하기 위해, 문자열 리터럴 뒤에 u8 이라는 접미어를
붙이면, 별도의 인코딩 변환없이 자동으로 UTF-8으로 인식하여 바이트 시퀀스를 리턴한다.
u8 접미어가 붙은 경우 리턴타입은 ReadOnlySpan<byte> 이 된다.
예제
// u8 접미어가 사용된 경우 변수 bytes는
// UTF-8으로 인코딩된 바이트 데이타를 갖는다.
ReadOnlySpan<byte> bytes = "Hello 서울"u8;
foreach (byte b in bytes)
{
Console.WriteLine(b.ToString("X"));
}
// 바이트 배열로 변환하는 경우
byte[] arr = "Hello 서울"u8.ToArray();
본 웹사이트는 광고를 포함하고 있습니다. 광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.