Как создать файл ansi

Обновлено: 05.07.2024

Файлы реализации C ++ сохраняются как файлы ANSI / UTF-8 / UCS-2.

Надпись: Иногда унификация и стандартизация могут решить многие проблемы.

Раньше я использовал C ++ для файловых операций и сбивал меня с толку, почему китайский язык искажен? Почему он может нормально отображаться в NotePad ++, но номер строки, отображаемый в NotePad, нечеткий?

Чтобы решить вышеупомянутые проблемы и повторить надпись, единый формат кодирования может решить все головоломки. NotePad ++ поддерживает множество кодировок. NotePad, естественно, несравнимо с младшим братом. Теперь позвольте мне по очереди представить форматы кодирования, поддерживаемые младшим братом: ANSI, Unicode, Unicode big endian, UTF-8.

Сохранить как файл в кодировке ANSI

Код ANSI "Ascii" (Американский стандартный код для обмена информацией, Американский стандартный код для обмена информацией).

Хорошо, запустите приведенный выше код, и вы откроете "save_as_ansi.txt", что ж! Почему там только один[ Очевидно, не паникуйте, просто нужно удалить комментарии к контенту, и он будет отображаться нормально.

setlocale:
Заголовочный файл: locale.h
char* setlocale(int category, const char* locale)

Установите языковой стандарт для всех функций C, связанных с языком C и локальной средой. Когда вы тупо запутались или не хотите выяснять, какие функции, добавление его в код C ++ может решить потенциальную проблему.

std::locale::global:

Заголовочный файл: локаль
Оператор: статическая локаль глобальная (const locale & loc);

Замените языковой стандарт глобальной функции C ++, связанный с локальной средой, и верните исходный языковой стандарт системы.

Сохранить как файл в кодировке UTF-8

Фактически, файлы в кодировке utf-8 также можно разделить на два типа файлов, включая BOM и без BOM.Различие заключается в заголовке файла.

Реализовать его очень сложно, это очень просто, начиная с C11, но, пожалуйста, не используйте его в MAC OS7 и ниже, потому что система вообще не поддерживает C11. Вы можете использовать только API-интерфейс платформы object-c.

UTF_8_BOM

UTF_8_NOBOM

UTF-8 Without Bom

Разница только вcodecvt_utf8Последняя цифра параметра шаблона.

Сохранить как файл в кодировке Unicode

Unicode Big Endian

UCS-2 с прямым порядком байтов

Unicode Little Endian

По предыдущим идеям реализация очень проста, C11 готов для вас, смотритеstd::codecvt_utf16

UCS-2 Little Endian

Обратите внимание, что маска режима прямого порядка байтов становится 1 | 2, а именно:

Эпилог: Мои требования к C ++ - уметь его использовать. Если вы хотите создать библиотеку языкового кодирования или более низкоуровневую разработку, попробуйте прочитатьОфициальный документ. Раньше я занимался разработкой на C ++, а теперь Python - мое главное поле битвы. Я отличный разработчик Pyhton, и я развиваюсь до старшего системного архитектора.

Добавьте друзей, чтобы учиться вместе

Если вы любите развитие так же сильно, как и я, добавьте в друзья и учитесь вместе. Если вы разработчик-одиночка, приглашайте друзей на встречу! .

fwrite функция PHP или file_put_content не заботится о метаданных файла, он просто записывает данные в хранилище и все. Это приводит к простой гипотезе, что кодировка текстового файла определяется его данными, поэтому вам необходимо преобразовать данные, которые вы будете записывать в файл, в определенный формат.

В PHP вы можете добиться этого, используя функцию iconv, пытаясь обнаружить кодировку ваших данных (обычно UTF-8) и преобразовать их в новый формат, а именно Windows-1252 (CP1252):

Выходной файл будет автоматически распознан вашим любимым текстовым редактором в кодировке Windows-1252:

Windows 1252 Текст PHP

И это все нормально. Если содержимое ваших файлов не имеет специальных символов, содержимое может быть распознано текстовым редактором как UTF-8, поэтому ваш единственный вариант будет использовать инструмент CLI для преобразования кодировки файла (читай следующий абзац).

Если файл все еще без правильной кодировки

Если после использования простого PHP для написания содержимого вручную в вашем файле не используется нужная кодировка в содержимом файла, вам может понадобиться использовать вместо системного уровня способ установки кодировки файла.

Предпочтительный и самый простой способ сделать это с помощью CLI - это iconv. Этот инструмент CLI преобразует кодировку символов во входном файле из одного набора кодированных символов в другой. Результат записывается в стандартный вывод, если иное не указано параметром --output или просто перенаправлением вывода с помощью cli, например:

Вы можете использовать Exec функция PHP запустить программу iconv с указанными аргументами, доступную в любой ОС на базе UNIX или в Windows (используя Cygwin).

Как уже упоминалось, большинство текстовых редакторов, которые используют автоматический детектор кодирования, решают, какую кодировку использовать в соответствии с содержимым, поэтому обычно, хотя строки, хранящиеся в файле с PHP, которые имеют кодировку Windows-1252 (CP1252), UTF-8 режим будет использоваться. Это означает, что обнаружение кодировки на основе содержимого основано только на эвристике, поэтому не гарантирует правильности кодировки, используемой для открытия файла.

Однако содержимое не обманывает, поэтому, если вы попытаетесь открыть содержимое файла в кодировке Windows-1252 в кодировке UTF-8, вы увидите странные символы в текстовом редакторе:

Windows1252 (CP1252) текст, открытый с помощью UTF-8

Однако если текстовый редактор считывает содержимое файла с кодировкой Windows-1252 (CP1252), он будет прочитан правильно:

Кодировка текста – это схема нумерации символов, в которой каждому символу, цифре или знаку присвоено соответствующее число. Кодировку используют для сохранения и обработки текста на компьютере. Каждый раз при сохранении текста в файл он сохраняется с использованием определенной схемы кодирования, и при открытии этого файла необходимо использовать такую же схему, иначе восстановить исходный текст не получится. Самыми популярными кодировками для кириллицы сейчас являются UTF-8, Windows-1251 (CP1251, ANSI).

Для того чтобы программа смогла правильно открыть текстовый файл, иногда приходится вручную менять кодировку, перекодируя текст из одной схемы в другую. Например, не редко возникают проблемы с открытием файлов CSV, XML, SQL, TXT, PHP.

В этой небольшой статье мы расскажем о том, как изменить кодировку текстового файла на UTF-8, Windows-1251 или любую другую.

Блокнот Windows

Если вы используете операционную систему Windows 10 или Windows 11, то вы можете изменить кодировку текста с помощью стандартной программы Блокнот. Для этого нужно открыть текстовый файл с помощью Блокнота и воспользоваться меню « Файл – Сохранить как ».

меню Файл – Сохранить как

В открывшемся окне нужно указать новое название для файла, выбрать подходящую кодировку и нажать на кнопку « Сохранить ».

изменить кодировку в Блокноте

К сожалению, для подобных задач программа Блокнот часто не подходит. С ее помощью нельзя открывать документы большого размера, и она не поддерживает многие кодировки. Например, с помощью Блокнота нельзя открыть текстовые файлы в DOS 866.

Notepad++

Notepad++ (скачать) является одним из наиболее продвинутых текстовых редакторов. Он обладает подсветкой синтаксиса языков программирования, позволяет выполнять поиск и замену по регулярным выражениям, отслеживать изменения в файлах, записывать и воспроизводить макросы, считать хеш-сумы и многое другое. Одной из основных функций Notepad++ является поддержка большого количества кодировок текста и возможность изменения кодировки текстового файла в UTF-8 или Windows 1251.

Для того чтобы изменить кодировку текста с помощью Notepad++ файл нужно открыть в данной программе. Если программа не смогла правильно определить схему кодирования текста, то это можно сделать вручную. Для этого нужно открыть меню « Кодировки – Кириллица » и выбрать нужный вариант.

выбрать кодировку в Notepad++

После открытия текста можно изменить его кодировку. Для этого нужно открыть меню « Кодировки » и выбрать один из вариантов преобразования. Notepad++ позволяет изменить текущую кодировку текста на ANSI (Windows-1251), UTF-8, UTF-8 BOM, UTF-8 BE BOM, UTF-8 LE BOM.

изменить кодировку в Notepad++

После преобразования файл нужно сохранить с помощью меню « Файл – Сохранить » или комбинации клавиш Ctrl-S.

Akelpad

Akelpad (скачать) – достаточно старая программа для работы с текстовыми файлами, которая все еще актуальна и может быть полезной. Фактически Akelpad является более продвинутой версией стандартной программы Блокнот из Windows. С его помощью можно открывать текстовые файлы большого размера, которые не открываются в Блокноте, выполнять поиск и замену с использованием регулярных выражений и менять кодировку текста.

Для того чтобы изменить кодировку текста с помощью Akelpad файл нужно открыть в данной программе. Если после открытия файла текст не читается, то нужно воспользоваться меню « Файл – Открыть ».

открыть файл в Akelpad

В открывшемся окне нужно выделить текстовый файл, снять отметку « Автовыбор » и выбрать подходящую кодировку из списка. При этом в нижней части окна можно видеть, как будет отображаться текст.

выбрать кодировку в Akelpad

Для того чтобы изменить текущую кодировку текста нужно воспользоваться меню « Файл – Сохранить как » и сохранить документ с указанием новой схемы кодирования.

изменить кодировку в Akelpad

В отличие от Notepad++, текстовый редактор Akelpad позволяет сохранить файл в практически любой кодировке. В частности, доступны Windows 1251, DOS 886, UTF-8 и многие другие.

Как сменить кодировку текстового файла с помощью Блокнота в Windows

Фишка кодировки текстовых фалов в том, что хранятся не сами буквы (символы), а ссылки на них в таблице кодировок. Если с латинским буквами, арабскими цифрами и основными символами типа точек, тире и запятых никаких проблем не возникает: во многих таблицах кодировок все эти буквы, цифры и символы находятся в одних и тех же ячейках, то с кириллицей всё сложно. Например, в разных кодировках буква Ы может находиться в ячейке 211, 114 и 69.

Именно поэтому на заре интернета чтобы посмотреть разные сайты с разными кодировками приходилось подбирать кодировку. (Но кто это помнит?) Сейчас кодировка страницы обычно прописана в заголовке страницы, что позволяет браузеру "автоматически" подбирать отображение символов на наших мониторах.

То есть сервер отдаёт не просто HTML-страничку, а указывает, что у неё кодировка Windows-1251 . Браузер таким образом, считывая информацию о кодировке полученного файла, подставляет символы из указанной кодировки.

Но и это ещё не всё веселье. Например, если на сервере установлена операционная система из семейства *nix (с кодировкой по умолчанию UTF-8 ), а мы шлём файл из нашей любимой ОС Windows, где кодировка текстовых фалов по умолчанию стоит почему-то ANSI , то как вы думаете сервер будет работать с текстом, кодировка которой не совпадает с его? Правильно! Как-то будет работать! Но результат работы может быть непредсказуемым и удивительным. =)

Надеюсь, что мотивация для обращение необходимого внимания на кодировку достаточная и можно перейти к сути вопроса: "Как же, чёрт возьми, сохранить файл в нужной кодировке?!"

В этой статье речь пойдёт как раз о том, как сохранить текстовый файл с помощью программы Блокнот (Notepad) в Windows в нужной кодировке.

Для того, чтобы изменить кодировку текстового файла, конечно же сперва его нужно создать. А после того, как файл создан, нужно ещё суметь его открыть. Самый простой способ отрыть файл — это двойной клик левой кнопкой мыши по его иконке в проводнике:

двойной клик левой кнопкой мыши по его иконке в проводнике

Если до этого настройки Windows не менялись, то файлы с расширением .txt открываются в Блокноте. (Это ещё один способ, как отрыть Блокнот (Notepad).)

файлы с расширением .txt открываются в Блокноте

Чтобы поменять кодировку в открывшемся файле, нужно в меню «Файл» текстового редактора Блокнот выбрать пункт «Сохранить как. »:

меню «Файл» текстового редактора Блокнот

Откроется диалоговое окно сохранения файла. Для смены кодировки, нужно выбрать из списка предлагаемых необходимый:

Для смены кодировки, нужно выбрать из списка предлагаемых необходимый

После того, как нужная кодировка выбрана, можно кликнуть на кнопку «Сохранить» или просто нажать Enter:

кликнуть на кнопку «Сохранить»

Так как мы не изменили имя файла, то будет перезаписан тот же самый файл. Поэтому возникает справедливый вопрос: «Файл с таким именем уже существует. Заменить?» Ну да, мы к этому и стремимся! Поменять кодировку у этого файла. Поэтому его нужно перезаписать с новой кодировкой. Соглашаемся:

Файл с таким именем уже существует. Заменить?

Всё! Миссия по смене кодировки в текстовом файле выполнена! Файл сохранён с новой кодировкой. Можно закрыть текстовый редактор и устроить празднование этого решающего события! =D

Читайте также: