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 #?

Était-ce utile?

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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top