Gestion de _bstr_t à partir d'un tableau d'octets et inversement avec C #
Question
J'essaye de décrypter un fichier donné, mais le contenu stocké se fait en C ++ en utilisant la classe _bstr_t.Je cherche déjà depuis 2 heures, je teste tout et je n'ai toujours pas obtenu le résultat correct: lire les caractères _bstr_t
en coréen sous forme de chaîne.
Voici la valeur lue en octets:
B5 B8 BF F2 C3 BC
Ce qui devrait être, pour autant que je sache, quelque chose comme «Arial».
J'ai essayé d'utiliser les méthodes Encoding.Unicode.GetString()
, Encoding.UTF8.GetString()
, Encoding.UTF7.GetString()
, Encoding.UTF32.GetString()
, aucune d'entre elles ne renvoyant des phrases coréennes correctes.
Quelqu'un a-t-il une idée comment convertir une chaîne _bstr_t'd, convertie en octets, est lisible en C #?
La solution
Le décodage des octets avec la page de codes Windows pour le coréen produit le résultat que vousvoulez?
var bytes = new byte[] { 0xB5, 0xB8, 0xBF, 0xF2, 0xC3, 0xBC };
var output = Encoding.GetEncoding(949).GetString(bytes);