MSXML DOMからプルされたバリアントbstrがあるので、UTF-16にあります。私はこの変換でどのデフォルトのエンコーディングが発生するかを理解しようとしています:
VARIANT vtNodeValue;
pNode->get_nodeValue(&vtNodeValue);
string strValue = (char*)_bstr_t(vtNodeValue);
テストから、デフォルトのエンコーディングはWindows-1252またはAsciiのいずれかであると思いますが、確かではありません。
ところで、これは私が修正してバリアントをwstringに変換し、WideCharToMultiByteを呼び出してマルチバイトエンコーディングに移行するコードのチャンクです。
ありがとう!