Namespaces
Variants

Character sets and encodings

From cppreference.net

Contenidos

Conjunto básico de caracteres

El conjunto de caracteres básico consiste en los siguientes 95 caracteres:

Punto de código Carácter Glifo
U+0009 Tabulación de caracteres
U+000B Tabulación de línea
U+000C Alimentación de formulario (FF)
U+0020 Espacio
U+0021 Signo de exclamación !
U+0022 Comillas "
U+0023 Signo de número #
U+0025 Signo de porcentaje %
U+0026 Et &
U+0027 Apóstrofe '
U+0028 Paréntesis izquierdo (
U+0029 Paréntesis derecho )
U+002A Asterisco *
U+002B Signo más +
U+002C Coma ,
U+002D Guion -
U+002E Punto .
U+002F Barra oblicua /
U+0030 .. U+0039 Dígito cero .. nueve 0 1 2 3 4 5 6 7 8 9
U+003A Dos puntos :
U+003B Punto y coma ;
U+003C Signo menor que <
U+003D Signo igual =
U+003E Signo mayor que >
U+003F Signo de interrogación ?
U+0041 .. U+005A Letra latina mayúscula A .. Z A B C D E F G H I J K L M

N O P Q R S T U V W X Y Z

U+005B Corchete izquierdo [
U+005C Barra invertida \
U+005D Corchete derecho ]
U+005E Acento circunflejo ^
U+005F Guion bajo _
U+0061 .. U+007A Letra latina minúscula a .. z a b c d e f g h i j k l m

n o p q r s t u v w x y z

U+007B Llave izquierda {
U+007C Línea vertical |
U+007D Llave derecha }
U+007E Virgulilla ~

A diferencia de C++, el carácter U+000A LINE FEED (LF) no está incluido en el conjunto de caracteres básico. En su lugar, debe haber alguna forma de indicar el final de cada línea de texto en el archivo fuente y el documento trata dicho indicador de fin de línea como si fuera un único carácter de nueva línea.

El conjunto de caracteres básico también se conoce como basic source character set .

Conjunto de caracteres básico de ejecución

El conjunto de caracteres de ejecución básico contiene todos los miembros del conjunto de caracteres básico, más los siguientes caracteres:

Unidad de código Carácter
U+0000 Nulo
U+0007 Timbre
U+0008 Retroceso
U+000A Alimentación de línea (LF)
U+000D Retorno de carro (CR)

Para cada conjunto de caracteres de ejecución básico, los valores de los miembros serán no negativos y distintos entre sí. Tanto en los conjuntos de caracteres básicos de origen como de ejecución, el valor de cada carácter después del 0 en la lista anterior de dígitos decimales será uno mayor que el valor del anterior. El carácter U+0000 NULL tiene el valor 0.

La representación de cada miembro del conjunto de caracteres de ejecución básico cabe en un byte.

En C++, el conjunto de caracteres de ejecución básico también se conoce como conjunto de caracteres literales básicos y conjunto de caracteres anchos de ejecución básicos .

Codificaciones literales

La codificación literal es una asignación definida por la implementación de los caracteres del conjunto de caracteres de ejecución a los valores en una constante de carácter o literal de cadena sin prefijo de codificación. Soporta una asignación de todos los valores básicos del conjunto de caracteres de ejecución a la codificación definida por la implementación. Puede contener secuencias de caracteres multibyte.

Los siguientes caracteres no están en el conjunto de caracteres de ejecución básico, pero se requiere que sean codificados como un solo byte en una constante de carácter ordinaria o literal de cadena ordinaria.

Punto de código Carácter Glifo
U+0024 Dollar Sign $
U+0040 Commercial At @
U+0060 Grave Accent `
(desde C23)

La codificación de literales anchos es una asignación definida por la implementación de los caracteres del conjunto de caracteres de ejecución a los valores en una constante de carácter o literal de cadena con prefijo L . Soporta una asignación de todos los valores del conjunto básico de caracteres de ejecución a la codificación definida por la implementación. Si una implementación no define __STDC_MB_MIGHT_NEQ_WC__ , la asignación produce valores idénticos a la codificación literal para todos los valores del conjunto básico de caracteres de ejecución. Uno o más valores pueden asignarse a uno o más valores del conjunto extendido de caracteres de ejecución.

La codificación UTF-8 se utiliza para mapear caracteres del juego de caracteres de ejecución a una u8 -prefixed constante de carácter o (since C23) literal de cadena.

Una codificación definida por la implementación (until C23) La codificación UTF-16 (since C23) se utiliza para mapear caracteres del juego de caracteres de ejecución a una u -prefixed constante de carácter o literal de cadena.

Una codificación definida por la implementación (until C23) La codificación UTF-32 (since C23) se utiliza para mapear caracteres del juego de caracteres de ejecución a una U -prefixed constante de carácter o literal de cadena.

(since C11)

Véase también

Tabla ASCII
Documentación de C++ para Conjuntos de caracteres y codificaciones