Compartir a través de


Secuencia de escape string/character \e

Nota

Este artículo es una especificación de características. La especificación actúa como documento de diseño de la característica. Incluye cambios de especificación propuestos, junto con la información necesaria durante el diseño y el desarrollo de la característica. Estos artículos se publican hasta que se finalizan los cambios de especificación propuestos e se incorporan en la especificación ECMA actual.

Puede haber algunas discrepancias entre la especificación de características y la implementación completada. Esas diferencias se recogen en las notas de la reunión de diseño de lenguaje (LDM) correspondientes.

Puede obtener más información sobre el proceso de adopción de especificaciones de características en el estándar del lenguaje C# en el artículo sobre las especificaciones de .

Problema del campeón: https://github.com/dotnet/csharplang/issues/8657

Resumen

Adición de la secuencia de escape de cadenas y caracteres \e como un reemplazo abreviado para el punto de código de caracteres 0x1b, comúnmente conocido como el carácter ESCAPE (o ESC).
Actualmente, se puede acceder a este carácter mediante una de las siguientes secuencias de escape:

  • \u001b
  • \U0000001b
  • \x1b (no recomendado, vea la imagen adjunta en la parte inferior).

Con la implementación de esta propuesta, se deben cumplir las siguientes aserciones:

char escape_char = '\e';

Assert.IsTrue(escape_char == (char)0x1b, "...");
Assert.IsTrue(escape_char == '\u001b', "...");
Assert.IsTrue(escape_char == '\U0000001b', "...");
Assert.IsTrue(escape_char == '\x1b', "...");

Diseño detallado

La especificación de sintaxis del lenguaje se cambia de la siguiente manera en la sección 6.4.5.5:

fragment Simple_Escape_Sequence
-    : '\\\'' | '\\"' | '\\\\' | '\\0' | '\\a' | '\\b' | '\\f' | '\\n' | '\\r' | '\\t' | '\\v'
+    : '\\\'' | '\\"' | '\\\\' | '\\0' | '\\a' | '\\b' | '\\f' | '\\n' | '\\r' | '\\t' | '\\v' | '\\e'
    ;

Además de la adición de la última línea a la tabla siguiente en las especificaciones:

Una secuencia de escape simple representa un carácter Unicode, como se describe en la tabla siguiente.

Secuencia de escape nombre del personaje punto de código Unicode
\' Comilla simple U + 0027
... ... ...
\e Carácter de escape U+001B

El tipo de un Character_Literal es char.