Tengo una variante bstr que se extrajo de MSXML DOM, por lo que está en UTF-16. Estoy tratando de averiguar lo que ocurre con la codificación por defecto esta conversión:Codificación predeterminada para la variante bstr a std :: cadena de conversión
VARIANT vtNodeValue;
pNode->get_nodeValue(&vtNodeValue);
string strValue = (char*)_bstr_t(vtNodeValue);
De las pruebas, creo que la codificación predeterminada es Windows-1252 o ASCII, pero no estoy seguro.
Btw, este es el bloque de código que estoy arreglando y convirtiendo la variante en un wstring y yendo a una codificación de varios bytes con una llamada a WideCharToMultiByte.
Gracias!
¡Gracias! La página de códigos predeterminada en Windows de EE. UU. Es 1252, lo que es coherente con lo que he observado. Esto se puede determinar en cualquier máquina con esta llamada: \t int nCodePage = GetACP(); –