files – Codificación de caracteres al copiar texto de algún lugar a Emacs y guardarlo en un archivo

Pregunta:

Supongamos que copio texto de una fuente (por ejemplo, una página web, un archivo de texto abierto en un editor como gedit o emacs) a un búfer en emacs y luego guardo el búfer en un archivo de texto.

  1. Cuando copio el texto de la fuente al búfer de Emacs,

    ¿Realmente copio "los valores de código del texto bajo el método de codificación usado por la fuente" al búfer de Emacs? ¿O copio algo más del texto?

    ¿Emacs necesita conocer el método de codificación del texto en la fuente?

    ¿La conversión de codificación implica durante este proceso de copia?

  2. Cuando Emacs escribe el búfer en un archivo de texto,

    de forma predeterminada, sin configuraciones personalizadas de emacs, ¿emacs escribirá el búfer en el archivo de texto utilizando el mismo método de codificación que la fuente?

Respuesta:

Cuando copio el texto de la fuente al búfer de emacs …

Lo que copie dependerá de la aplicación desde la que esté copiando. Algunas aplicaciones lanzan cadenas codificadas en UTF-8, mientras que otras usan formatos diferentes. Emacs usa el sistema selection-coding-system variables para determinar si decidir la codificación de los datos o presumir una codificación particular. Consulte la documentación de selection-coding-system para obtener más detalles. Emacs tiene su propia representación interna utf-8-emacs , por lo que cualquier inserción de texto tiene una conversión implícita en esta representación.

Cuando emacs escribe el búfer en un archivo de texto …

Para un emacs no configurado, creo que emacs usa select-safe-coding-system para determinar un sistema de codificación o avisar al usuario si está indeciso. Aquí hay un extracto de la documentación de select-safe-coding-system que determina cuándo emacs solicita una elección de sistema de codificación.

Fuente (formateando la mía)

"Si default-coding-system no es nil, ese es el primer sistema de codificación que se intenta; si puede manejar el texto, select-safe-coding-system devuelve ese sistema de codificación. También puede ser una lista de sistemas de codificación; luego, la función prueba cada uno de ellos uno por uno. Después de probarlos todos, luego prueba el valor del buffer-file-coding-system actual de buffer-file-coding-system (si no está indeciso), luego el valor predeterminado de buffer-file-coding-system y finalmente el sistema de codificación preferido por el usuario, que el usuario puede configurar usando el comando prefer-coding-system (ver Reconocimiento de sistemas de codificación).

Si uno de esos sistemas de codificación puede codificar de forma segura todo el texto especificado, select-safe-coding-system elige y lo devuelve. De lo contrario, le pide al usuario que elija de una lista de sistemas de codificación que pueden codificar todo el texto y devuelve la elección del usuario ".

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım