teclado poner normal laptop invertida inversa ingles español escribir como barra encoding internationalization

encoding - poner - ¿Qué codificación utiliza el prefijo / x(barra diagonal inversa x)?



diagonal invertida en laptop (3)

Estoy intentando decodificar el texto que está prefijando ciertos ''caracteres especiales'' con / x . He elaborado las siguientes asignaciones a mano:

/x28 ( /x29 ) /x3a : e.g. 12/x3a39/x3a03 AM

¿Alguien reconoce lo que es esta codificación?


Es ASCII . Todas las apariciones de los cuatro caracteres /xST se convierten en 1 carácter, cuyo código ASCII es ST (en hexadecimal ), donde S y T son cualquiera de 0123456789abcdefABCDEF .


La notación ''/xAB'' se usa en C, C ++, Perl y otros lenguajes tomando un tono de C, como una forma de expresar códigos de caracteres hexadecimales en medio de una cadena.

La notación ''/007'' significa usar octal para el código de carácter, cuando hay dígitos después de la barra invertida.

En C99 y versiones posteriores, también puede usar /uabcd y /U00abcdef para codificar caracteres Unicode en hexadecimal (con 4 y 8 dígitos hexadecimales requeridos; los dos primeros dígitos hexadecimales en /U deben ser 0 para que sea válido, ya menudo el tercer dígito ser 0 también - 1 es el único otro valor válido).

Tenga en cuenta que en C, los escapes octales están limitados a un máximo de 3 dígitos, pero los escapes hexadecimales no están limitados a 2 o 3 dígitos; el escape hexadecimal termina en el primer carácter que no es un dígito hexadecimal. En la pregunta, la secuencia es "12/x3a39/x3a03" . Esa es una cadena que contiene 4 caracteres: 1 , 2 , /x3a39 y /x3a03 . El valor real utilizado para los caracteres hexadecimales de 4 dígitos está definido por la implementación. Para lograr el resultado deseado (usando /x3A para representar dos puntos /x3A , el código tendría que usar concatenación de cadenas:

"12/x3a" "39/x3a" "03"

Ahora contiene 8 caracteres: 1 , 2 , : , 3 , 9 , : , 0 , 3 .


Supongo que se trata de una cadena Unicode que se ha codificado de forma diferente a la secuencia de salida a la que se envió. es decir. una salida de cadena utf-16 a un dispositivo latin-1. En esa situación, ciertos caracteres se emitirán como valores de escape para evitar enviar caracteres de control o caracteres incorrectos al dispositivo de salida. Esto sucede al menos en python.