Tengo secuencias de caracteres estoy alimentando a una función de decodificación:¿Cómo escapar o terminar una secuencia de escape en C
Por ejemplo:
"\x05three"
(Sí, eso es una cadena tipo Pascal . La función se traduce cadenas de longitud prefijada de cadenas terminadas en cero)
escribí un par de casos de prueba, entre las cuales:.
"\x04four"
Y para mi sorpresa, salió como "Oour". Mirando más de cerca, resulta que la especificación en escape sequences para Visual Studio permite que mi secuencia se interprete básicamente como \x04f
, que sería 79 en base 10 (por lo tanto, la cadena resultante se convierte en "Oour", 79 es "O")
Mi solución era simplemente para dividir la cadena:
"\x04" "four"
la pregunta: ¿hay alguna otra manera de escapar o terminar una secuencia de escape?
'0x04f' es 4 * 16 + 15 = 79, entonces 'O'. –
0x4f (hex) es 79 en decimal, que es la letra "O". 80 en decimal (no 0x80 que es un número hexadecimal) es la letra P. 0x80 es 128 decimal, que no es un carácter ascii estándar –
Gracias a los dos. Estoy avergonzado ahora. Me pregunto si agarré la lata de descafeinado esta mañana ... – MPelletier