utf8 python3 bytes character-encoding vb6

character-encoding - python3 - python encode ascii



Descodificar la codificación de cadena hexadecimal (1)

Tengo un .bin guardado con un programa VB, el formato .bin es:

String bytes | String 06 00 | C0 E1 E0 E8 F1 E0

El problema es que no sé cómo está codificada la cadena. Sé lo que se supone que es la cuerda: Abaira

¿Alguien puede reconocer la codificación utilizada?


No estoy al tanto de ninguna codificación de caracteres estándar para esto. No es ASCII ni EBCDIC.

Parece ser un tipo trivial de encriptación ASCII (quizás ANSI) de 8 bits (no Unicode). Compare su codificación desconocida con ASCII:

Unknown ASCII Hex MSB LSB Hex MSB LSB A CO 1100 0000 41 0100 0001 b E1 1110 0001 62 0110 0010 a E0 1110 0000 61 0110 0001 i E8 1110 1000 69 0110 1001 r F1 1111 0001 72 0111 0010 a E0 1110 0000 61 0110 0001

Vamos a definir:

  • MSB: primer mordisco = 4 bits más significativos
  • LSB: segundo nibble = menos significativo 4 bits
  • _U: de Desconocido
  • _A: de ASCII

Luego encuentras:

  • MSB_U = MSB_A Xor 0x80 (tal vez MSB_A o 0x80)
  • LSB_U = LSB_A + 1 (para indicar cómo se maneja el desbordamiento, necesito ver ASCII char ''O'' o ''o'')
  • Entonces U es la concatenación MSB_U & LSB_U.

Otro ejemplo de ASCII a Desconocido:

ASCII Hex MSB LSB MSB Xor 0x80 LSB - 1 Concatenated Hex H 48 0100 1000 1100 1001 1100 0111 C7 e 65 0110 1001 1110 1010 1110 1000 E8 r 72 0111 0010 1111 0011 1111 0001 F1 (as you have shown) b 62 0110 0010 1110 0011 1110 0001 E1 (do.)