Ten wynik binarny to tylko poszczególne bajty z tekstu zakodowanego w utf8, więc jeśli masz takst w wchar to musisz skonwertować go do utf8. Coś w ten deseń:
std::string wchar2utf8(const std::wstring &text)
{
int size = WideCharToMultiByte(CP_UTF8, 0, text.c_str(), text.size(), NULL, 0, NULL, NULL);
std::string utf8(size, ' ');
WideCharToMultiByte(CP_UTF8, 0, text.c_str(), text.size(), &utf8[0], size, NULL, NULL);
return utf8;
}
std::wstring wchar(L"ąęć");
std::string utf8 = wchar2utf8(wchar);
for(int i = 0;i < utf8.size(); ++i)
std::cout << std::bitset<8>(utf8[i]) << " ";