C++ 유니코드 문자열 리터럴(Unicode String Literal) 활용 방법

C++은 다양한 문자열과 타입을 지원합니다. 그리고 각 유형들을 리터럴 값으로 표현 방법들도 제시하고 있죠.

문자열 리터럴은 일련의 문자들을 표현할 수 있습니다. 큰 따옴표(“) 사이에 문자열을 입력해서 말이죠. 문자열 리터럴에는 다음과 같은 종류가 있습니다:

  • Narrow String 리터럴
  • UTF-8 encoded strings
  • Wide String 리터럴
  • char16_t와 char32_t (C++11)
  • Raw String 리터럴 (C++11)
  • std::string 리터럴 (C++14)

C++11에서는 유니코드 문자열 리터럴들을 조합할 수 있는 새로운 타입을 선보였습니다. 대표적으로 char16_t (16비트 유니코드)와 char32_t (32비트 유니코드)가 있죠. 그리고 리터럴 앞에 u8, u, U를 추가해 크기와 인코딩을 지정할 수 있게 되었죠. 대표적으로 UTF-8, UTF-16, UTF-32가 있습니다. 하지만 플랫폼을 변경하는 경우에는 런타임 변환이 필요합니다.

1
2
auto s3 = u“hello”// const char16_t*
auto s4 = U“hello”// const char32_t*
cs

이 외에도 유니코드 이스케이프 시퀀스(Unicode escape sequences)를 직접 사용해 인코딩 걱정없이 특정 기호를 코드화 할 수도 있습니다.

1
2
const char16_t* s16 = u“u00DA”;
const char32_t* s32 = U“u00DA”;
cs

최신 C++ 기능 활용 방법들은 엠바카데로 기술문서를 통해 확인해보세요.


api C++ c++builder c++빌더 code database Delphi fmx IDE ideas interbase ios migration modernization news python radstudio RAD스튜디오 tips UI UIUX vcl windows 개발 개발사례 개발팁 교육 기술레터 기술백서 데이터 데이터베이스 델파이 마이그레이션 모바일 윈도우 윈도우11 인터베이스 출시 코드 파이썬 파이어몽키 프로그래밍 프로젝트 현대화