Как сменить кодировку текстового файла с помощью Блокнота в Windows
Фишка кодировки текстовых фалов в том, что хранятся не сами буквы (символы), а ссылки на них в таблице кодировок. Если с латинским буквами, арабскими цифрами и основными символами типа точек, тире и запятых никаких проблем не возникает: во многих таблицах кодировок все эти буквы, цифры и символы находятся в одних и тех же ячейках, то с кириллицей всё сложно. Например, в разных кодировках буква Ы может находиться в ячейке 211, 114 и 69.
Именно поэтому на заре интернета чтобы посмотреть разные сайты с разными кодировками приходилось подбирать кодировку. (Но кто это помнит?) Сейчас кодировка страницы обычно прописана в заголовке страницы, что позволяет браузеру «автоматически» подбирать отображение символов на наших мониторах.
То есть сервер отдаёт не просто HTML-страничку, а указывает, что у неё кодировка Windows-1251 . Браузер таким образом, считывая информацию о кодировке полученного файла, подставляет символы из указанной кодировки.
Но и это ещё не всё веселье. Например, если на сервере установлена операционная система из семейства *nix (с кодировкой по умолчанию UTF-8 ), а мы шлём файл из нашей любимой ОС Windows, где кодировка текстовых фалов по умолчанию стоит почему-то ANSI , то как вы думаете сервер будет работать с текстом, кодировка которой не совпадает с его? Правильно! Как-то будет работать! Но результат работы может быть непредсказуемым и удивительным. =)
Надеюсь, что мотивация для обращение необходимого внимания на кодировку достаточная и можно перейти к сути вопроса: «Как же, чёрт возьми, сохранить файл в нужной кодировке?!»
В этой статье речь пойдёт как раз о том, как сохранить текстовый файл с помощью программы Блокнот (Notepad) в Windows в нужной кодировке.
Для того, чтобы изменить кодировку текстового файла, конечно же сперва его нужно создать. А после того, как файл создан, нужно ещё суметь его открыть. Самый простой способ отрыть файл — это двойной клик левой кнопкой мыши по его иконке в проводнике:
Если до этого настройки Windows не менялись, то файлы с расширением .txt открываются в Блокноте. (Это ещё один способ, как отрыть Блокнот (Notepad).)
Чтобы поменять кодировку в открывшемся файле, нужно в меню «Файл» текстового редактора Блокнот выбрать пункт «Сохранить как. »:
Откроется диалоговое окно сохранения файла. Для смены кодировки, нужно выбрать из списка предлагаемых необходимый:
После того, как нужная кодировка выбрана, можно кликнуть на кнопку «Сохранить» или просто нажать Enter:
Так как мы не изменили имя файла, то будет перезаписан тот же самый файл. Поэтому возникает справедливый вопрос: «Файл с таким именем уже существует. Заменить?» Ну да, мы к этому и стремимся! Поменять кодировку у этого файла. Поэтому его нужно перезаписать с новой кодировкой. Соглашаемся:
Всё! Миссия по смене кодировки в текстовом файле выполнена! Файл сохранён с новой кодировкой. Можно закрыть текстовый редактор и устроить празднование этого решающего события! =D
Программная перекодировка текстовых файлов
Вопрос состоит в следующем.
Вот скачал я из интернета большую кучу текстовых фалов с расширением .TXT.
И всё бы хорошо, но проблема в том, что все они в разных кодировках (UTF-8, ANSI, Windows-1251). Эту информацию сообщает Notepad++. А ещё ведь и DOS-овские кодировки время от времени встретиться могут, да и вообще их очень много всяких-разных существует на белом свете.
А мне нравится хранить и обрабатывать все текстовые файлы в кодировке Windows-1251. Следовательно, возникает задача перекодировать.
Разумеется, потеря арабских и японских букв пофиг абсолютно
С потерей всевозможных хитроумных символов туда же
Надо просто сохранить цифры, английские буквы (ну это легко), русские буквы (а это уже гораздо сложнее), ну и стандартные знаки препинания (из верхней половины таблицы ASCII).
Если, например, загрузить файл с кодировкой UTF-8 в Word, то оттуда его можно легко сохранить в Windows-1251.
Но это как-то слишком «поштучно», кропотливая «ручная» работа
Есть вроде бы какие-то программы, которые позволяют перекодировать таким же образом целую «пачку» таких вот файлов в нужный формат. Да вроде бы и сам Word это умеет, только я уже не помню, как именно в нём это делеатся.
Да и немного обидно искать чужие программы под ту задачу, которую можешь решить самостоятельно, имея в руках такое средство как VB6 и помощь классных специалистов с этого замечательного форума.
Ну вот, собственно, и вопрос: Как «провернуть» такое «мероприятие»?
Ну в смысле, групповую перекодировку?
Добавлено через 9 минут
Сравнение двух текстовых файлов.
How to open two files, compare them, and output the file that will contain text that from first.
Поиск повреждённых текстовых файлов
Программа проверяет все файлы из списка и ищет повреждённые файлы, которые заносит в другой список.
Чтение данных из текстовых файлов
Есть текстовый файл со строками данных, вопрос: каким образом можно записать эти данные например в.
Открытие текстовых файлов
Как открыть текстовый файл, название которого считываем из ComboBox? ff = CBF.Text ‘считываем.
Решение
Ну это я описал, так сказать, полный план действий. Общую стратегию
А так-таки да, я понимаю, что к каждой кодировке нужен индивидуальный подход.
И да, определение исходной кодировки текстового файла это важнейшая задача. Ну а дальше уже что-то вроде:
Ну а в самом начале создаём массив файлов, хранящихся в указанной пользователем папке, и поштучно кидаем их в цикле в этот самый Select Case.
Спасибо за ссылку, попробую разобраться.
Добавлено через 2 часа 29 минут
Ну всё, задача решена!
Короче говоря, если кто не в курсе, я сейчас увлечён составлением английского и русского словарей (базы данных слов) по компьютерной тематике в широком смысле.
Сначала пробовал извлекать слова из HTML-файлов. Не понравилось.
Потом пришла идея погулить что-то вроде «книги по компьютерной тематике».
Сразу же нагуглил хороший сайт. Хотя, насколько он хорош, судить мне трудно, потому что всё познаётся в сравнении, а он был первым попавшимся и пока единственным
Ну короче, там можно скачивать книги совершенно бесплатно сразу в нескольких (на выбор) форматах. Ну вот и скачал сразу несколько штук в формате TXT. Как позже выяснилось, все они оказались в кодировке UTF-8 без BOM.
Если я правильно понимаю, сейчас самые распространённые кодировки это UTF-8 и Windows-1251, и это я, конечно, слегка переборщил, сказав, что хотелось бы даже DOS-овские кодировки обрабатывть.
Это, будем говорить, была мечта на тот случай, если это окажется не слишком сложным
И да, Pro_grammer прав, — самый сложный этап — распознать кодировку файла.
Сейчас вот погуглил и выяснил, что кодировку UTF-8 с BOM распознать очень легко по первым трём байтам (EF BB BF), а вот кодировку UTF-8 без BOM распознать гораздо труднее, но всё-таки тоже можно.
Вот такой совет нашёл на одном форуме:
Символы в UTF-8 кодируются последовательностями длиной от 1 до 4 байт (октетов).
Вот в таком формате:
U+000000-U+00007F: 0xxxxxxx (ANSI)
U+000080-U+0007FF: 110xxxxx 10xxxxxx (сюда входит кириллица)
U+000800-U+00FFFF: 1110xxxx 10xxxxxx 10xxxxxx
U+010000-U+10FFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
По маске первого октета определяется общее число октет в последовательности, а затем они проверяются на соответствие маске 10xxxxxx.
Если какой-то байт не соответсвует маске, значит кодировка отличная от UTF-8 (в моем случае win1251).
В принципе, можно этим заняться, но мне пришла другая идея
Поскольку это всё-таки промежуточная цель, а не главная, то и хочется обойтись, что называется, малой кровью.
И вспомнилось мне, что как раз недавно скачал очень полезную консольную утилиту от автора популярной программы «Балаболка». Эта утилита позволяет делать следующее:
Программа предназначена для извлечения текста из файлов различных форматов. Извлеченный текст может быть объединен в один файл и/или разбит на несколько файлов. К тексту могут быть применены правила из словарей коррекции произношения программы «Балаболка».
Поддерживаются форматы файлов: AZW, AZW3, CHM, DjVu, DOC, DOCX, EML, EPUB, FB2, FB3, HTML, LIT, MD, MHT, MOBI, ODP, ODS, ODT, PDB, PDF, PPT, PPTX, PRC, RTF, TCR, TXT, WPD, WRI, XLS, XLSX. Интерфейс IFilter будет использован для неизвестных программе форматов файлов.
Утилита не имеет графического интерфейса и выполняется в текстовом режиме. Режим работы программы может быть задан при помощи параметров командной строки или файла конфигурации.
Причём кодировку файла (на выходе) «заказать», как я понял, невозможно. Но в любом случае, это всегда будет TXT файл.
К счастью (как выяснилось в результате небольшого эксперимента) по умолчанию эта программа конвертирует кодировку UTF-8 без BOM в кодировку UTF-8 с BOM, а кодировку Windows-1251 просто оставляет без изменений, по сути, просто копирует файл в указанное место.
Ну и теперь общий сценарий будет такой:
1. Запускаю эту утилиту и по маске (там это достигается с помощью ключей) обрабатываю все файлы в указанной папке:
Перекодировка содержимого текстового файла в Win-1251 и запись результата в новый файл с именем компьютера
Добрый день, подскажите пожалуйста. стоит задача написать bat, который будет собирать информацию о системе. то есть systeminfo. Втыкая флешку в компьютер он бы записывал результат systeminfo на флешку в txt файл который бы назвался именем компьютера.
это проблема решена
Но Это получится по компьютерам которые в домене.
А если проходится по компьютерам пользователи которых не в домене, то может совпадать и имя компьютера, и имя пользователя.
Вопрос вот в чем, как сделать так чтобы при записи на флешку, он смотрел : если есть файл с таким же названием, то спросил! как назвать его, и я бы ввел название по усмотрению!
Спасибо
Попарное слияние строк из одного текстового файла и запись результата в другой текстовый файл
есть txt файл состоящий из разного колличества строк, конец строк является `\n` необходимо.
Чтение файла, замена слов и запись результата в новый файл
Помогите написать конвертер текста Например, у меня есть файл с определенным текстом. Мне нужно.
Перекодировка строки win-1251 в кодировку utf-8
Помогите пожалуйста! есть проблема перекодировки строки win-1251 в кодировку utf-8. Может есть.
Запись содержимого текстового файла в переменную
Здравствуйте, подскажите пожалуйста как мне считать все данные из txt файла в переменную? главное.
Вместо строки № 8:
Тематические курсы и обучение профессиям онлайн Профессия Cпециалист по кибербезопасности (Skillbox) DevOps-инженер (Нетология) Профессия DevOps-инженер PRO (Skillbox) |
Работает, только если вручную укажите имя — добавит сразу в оба текстовика. (после строки 15 нет выхода).
sov44, отличная идея
Видно ТС взял код из Серого форума.
Вот в продолжение, чтобы и 1251 по 100500+ раз не вызывать.
Должно еще в 2 раза ускорится:
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Создать новый текстовый файл с именем Name3, являющийся объединением содержимого файлов Name1 и Name2
Даны два текстовых файла с именем Name1 и Name2, созданные заранее в редакторе Блокнот. Создать.
Запись содержимого txt-файла на новый лист xlsx-файла
Добрый день, прошу помощи, или совета где поискать нужную инфу. Есть txt-файл, которые генерирует.
Создание текстового файла и запись в него содержимого Edit.Text
Как создать файл с указанным именем в указанной папке? Как записать Edit.Text в файл?
Файл: Привести кодировку содержимого файла к кодировке консоли и сохранить результат как новый файл.
Задача такая: Программа должна получать на вход путь к текстовому файлу, анализировать его.