utf8 인코딩 자체의 숫자 값을 출력스트림의 오른쪽항으로 전달할 때 문자가 출력되도록 하고 싶습니다.
글쓴이: dltkddyd / 작성시간: 목, 2014/07/10 - 12:31오후
제가 사용하고 있는 리눅스의 언어 로케일은 utf8입니다. 그리고 와이드 캐릭터를 utf32, utf16으로 인코딩하는 클래스를 만들었습니다. 즉 와이드 캐릭터가 utf8_type, utf16_type, utf32_type 클래스의 생성자로 전달되면 해당 클래스의 인코딩으로 변환됩니다. 그런데 문제는 이 변환된 인코딩 자체는 숫자죠. 출력하기 위해서는 다시 와이드 문자로 바꿔야 하는 번거로움이 생기더군요. 가령 L'가'의 유니코드는 0xAC00입니다. utf8_type에 의해 변환되면 이 코드는 0xEAB080이 됩니다. 이 객체를
wcout<<(utf8_type의 객체);
라 하게되면 숫자가 출력됩니다. 이를 문자로 출력하려면 다시 wchar_t로 캐스팅해서
wcout<<(wchar_t)(utf8_type 객체);
위와 같이 언급해야 문자가 출력됩니다.
즉 (wchar_t)(utf8_type 객체) 는 이미 다시 0xAC00과 대응되는 문자를 출력하는 것인데, 그렇게 하지 않고
wcout<<(utf8_type객체);
에서 저 객체의 숫자값 L'가'였다면, 0xEAB080과 직접 대응되는 문자가 출력되도록 하고 싶습니다. 어떻게 해야 0xEAB080이라는 utf8코드로 그 코드값에 해당하는 문자를 출력할 수 있을까요?
Forums:
해결했습니다.
이틀 전에 해결했습니다. 날 샜네요.
본인 맞습니다.
인증샷
우헤헤헤... 로 대신합니다.
댓글 달기