Ver siguiente salida en mi sistema:
[STEP 101] # python3 -c 'import sys; print(sys.stdout.encoding)' ANSI_X3.4-1968 [STEP 102] # [STEP 103] # locale LANG=C LANGUAGE=en_US:en LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_PAPER="C" LC_NAME="C" LC_ADDRESS="C" LC_TELEPHONE="C" LC_MEASUREMENT="C" LC_IDENTIFICATION="C" LC_ALL=C [STEP 104] #Busqué en Google pero encontré muy poca información al respecto. Incluso The Python Library Reference (v3.5.2) de Python no lo menciona. ¿Algún estándar internacional lo define?
(Copié la referencia autorizada del comentario de la respuesta aceptada: Conjuntos de caracteres )
Este es otro nombre para USAS X3.4-1968 , una revisión del ASCII que se distingue por ser:
la primera revisión para permitir que un salto de línea ( LF ) ocurra por sí solo (es decir, no precedido ni seguido por un retorno de carro ( CR )).
la revisión que introdujo el nombre común de (US-)ASCII .
Esto es básicamente ASCII tal como lo concebimos, aunque hubo dos revisiones menores que lo siguieron.
Si tiene curiosidad de dónde proviene en c python, el valor se calcula desde el módulo locale usando langinfo .
Aquí hay un pequeño programa en C que demuestra cómo el módulo _locale determina esta información:
#include <langinfo.h> #include <locale.h> #include <stdio.h> int main () { setlocale(LC_ALL, ""); printf("%s\n", nl_langinfo(CODESET)); return 0; }Y algunos resultados de muestra:
$ LANG= ./a.out ANSI_X3.4-1968 $ LANG=en_US.UTF-8 ./a.out UTF-8 python normaliza el nombre ansi a ascii (o US-ASCII )