Pregunta

Intento descifrar un archivo dado, pero el contenido almacenado se realiza en C ++ usando la clase _BStr_T. Ya he estado buscando 2 horas, probando todo y todavía no obtuve el resultado correcto: leer coreano _bstr_t'D caracteres como cadena.

Este es el valor leído en bytes:

B5 B8 BF F2 C3 BC

Lo cual debería ser, hasta donde yo sé, algo como 'Arial'. He intentado usar el Encoding.Unicode.GetString() , Encoding.UTF8.GetString(), Encoding.UTF7.GetString() , Encoding.UTF32.GetString() Métodos, ninguno de ellos devuelve las oraciones coreanas correctas.

¿Alguien tiene una idea de cómo convertir una cadena _bstr_t'd, convertida a bytes, es legible en C#?

¿Fue útil?

Solución

Decodifica los bytes con el Codepage de Windows para coreano producir la salida que desee?

var bytes = new byte[] { 0xB5, 0xB8, 0xBF, 0xF2, 0xC3, 0xBC };
var output = Encoding.GetEncoding(949).GetString(bytes);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top