34.2 Отключение многобайтовых символов

По умолчанию Emacs запускается в многобайтовом режиме: он хранит содержимое буферов и строк с использованием внутренней кодировки, которая представляет не-ASCII символы с помощью многобайтовых последовательностей. Многобайтовый режим позволяет вам использовать все поддерживаемые языки и системы письма без ограничений.

В совершенно особых обстоятельствах вы можете отключить поддержку многобайтовых символов для конкретного буфера. Когда многобайтовые символы отключены в буфере, мы называем это однобайтовым режимом. В однобайтовом режиме каждый символ в буфере имеет код от 0 до 255 (0377 восьмеричных); от 0 до 127 (0177 восьмеричных) представляют ASCII символы, а от 128 (0200 восьмеричных) до 255 (0377 восьмеричных) представляют не-ASCII символы.

Чтобы редактировать конкретный файл в однобайтовом представлении, посетите его, используя find-file-literally. См. Функции для посещения файлов. Вы можете преобразовать многобайтовый буфер в однобайтовый, сохранив его в файл, убив буфер и снова посетив файл с помощью find-file-literally. Альтернативно, вы можете использовать C-x RET c (universal-coding-system-argument) и указать ‘raw-text’ в качестве кодировки, с которой посещать или сохранять файл. См. Указание кодировки для текста файла в Руководстве GNU Emacs. В отличие от find-file-literally, посещение файла как ‘raw-text’ не отключает преобразование форматов, распаковку или автоматический выбор режима.

Буферно-локальная переменная enable-multibyte-characters имеет значение не nil в многобайтовых буферах и nil в однобайтовых. Строка режима также указывает, является ли буфер многобайтовым или нет. На графическом дисплее в многобайтовом буфере часть строки режима, которая указывает набор символов, имеет всплывающую подсказку, которая (среди прочего) говорит, что буфер многобайтовый. В однобайтовом буфере индикатор набора символов отсутствует. Таким образом, в однобайтовом буфере (при использовании графического дисплея) обычно ничего нет перед обозначением соглашения о конце строки посещаемого файла (двоеточие, обратная косая черта и т. д.), если только вы не используете метод ввода.

Вы можете отключить поддержку многобайтовости в конкретном буфере, вызвав команду toggle-enable-multibyte-characters в этом буфере.