2014년 2월 24일 월요일

C++에서 유니코드란 참



C++에서 유니코드가 왜 문젠가 찾아보니 참 가관이더군요 -_-;


    댓글 7개:

    1. 작년 초에 2주정도 걸려서 회사 프로젝트를 유니코드로 변경했습니다. 참 값진 경험이었죠. 으허허허. 외부라이버리들이 UTF16을 지원하지 않아서 UTF8으로 변경했어요. ...근데 UTF8도 그럭저럭 쓸만하더군요. 글자 수 세기가 힘들어서 그렇지(...)

      답글삭제
    2. 오해를 부를 수도 있는데요. UTF8 이나 UTF16은 인코딩 방식입니다. 참고 http://soooprmx.com/wp/archives/4926

      답글삭제
    3. 옛날부터 지원했습니다.

      답글삭제
    4. c++11에서 utf-8 쉽게 사용 가능합니다.
      utf-8 리터럴은 u8"문자열" 이런 형태입니다.
      자료형은 char을 사용합니다.
      한 문자가 1~4개의 char로 표현 될 수 있습니다.

      utf-16은 __STDC_UTF_16__ 이 선언되어있으면 u"문자열" 을 이용하면 되고, 자료형은 char16_t 입니다.
      utf-32는 __STDC_UTF_32__ 이 선언되어 있으면 U"문자열"을 이용하면 되고, 자료형은 char32_t 입니다.

      위에 매크로가 정의되어있지 않으면 char16_t 또는 char32_t는 컴파일 종속적인 인코딩을 사용합니다.

      또한 std::u16string 그리고 std::u32string 이 있습니다.

      다만, I/O 에 관한 지원은 없네요.



      답글삭제
      답글
      1. 좋아요~ (버튼이 없어서 글로 대신.. ㅎㅎ)

        삭제