Manejo _BStr_T desde la matriz de bytes y atrás con C#
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#?
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);