кодирование декодирование в excel
Изменение кодировки в Excel
Если в таблице вместо нужной информации вы увидели вопросы, иероглифы или другие непонятные знаки, это значит, вам надо разобраться, как поменять кодировку в Excel. Эта функция доступна в самом Microsoft Office. Но избавиться от проблемы можно и другими методами.
Иногда мы получаем непонятные иероглифы
Что такое кодировка?
Компьютер воспринимает любую информацию, как набор цифр. Поэтому у каждого печатного знака есть свой код. Он состоит из чисел и букв латинского алфавита. Символы и соответствующие им числа — это и есть кодировка.
У неё есть несколько стандартов. Например, Koi-8, Unicode, Windows-1251, ASCII. И если файл с текстом сохранён, скажем, в Кои-8, в Excel он будет неправильно отображаться в Юникоде. Так как в этих наборах одним и тем же символам приписаны разные коды.
Как поменять кодировку в программе?
Для работы с таблицей, в которой используется стандарт, не заданный по умолчанию в программе, надо изменить кодировку. Существует несколько способов.
При помощи Notepad
Если в Экселе не получается превратить «кракозябры» в нормальный текст, откройте файл в программе «Notepad++». Она распространяется бесплатно. Настройте там отображение символов, а потом продолжайте работать в Excel.
Откройте файл в программе «Notepad++»
Откройте файл в utf-8
Через интерфейс программы
Вот как сменить кодировку в Excel, используя встроенные возможности:
Можно использовать встроенные возможности
Как сохранить файл в определённой кодировке?
Можно сделать так, чтобы в сохранённом вами файле стояла определённая кодировка Excel.
Ещё можно сделать так:
Как добавить в программы офиса новую кодировку?
Если ни один из стандартов не подошёл для вашего документа, добавьте новые.
В Excel можно поменять кодировку, если символы отображаются неправильно. Эта функция доступна в инструментарии программы. Но иногда используется сторонний софт.
Изменение кодировки в Microsoft Excel
С потребностью менять кодировку текста часто сталкиваются пользователи, работающие браузерах, текстовых редакторах и процессорах. Тем не менее, и при работе в табличном процессоре Excel такая необходимость тоже может возникнуть, ведь эта программа обрабатывает не только цифры, но и текст. Давайте разберемся, как изменить кодировку в Экселе.
Работа с кодировкой текста
Кодировка текста – эта набор электронных цифровых выражений, которые преобразуются в понятные для пользователя символы. Существует много видов кодировки, у каждого из которых имеются свои правила и язык. Умение программы распознавать конкретный язык и переводить его на понятные для обычного человека знаки (буквы, цифры, другие символы) определяет, сможет ли приложение работать с конкретным текстом или нет. Среди популярных текстовых кодировок следует выделить такие:
Последнее наименование является самым распространенным среди кодировок в мире, так как считается своего рода универсальным стандартом.
Чаще всего, программа сама распознаёт кодировку и автоматически переключается на неё, но в отдельных случаях пользователю нужно указать приложению её вид. Только тогда оно сможет корректно работать с кодированными символами.
Наибольшее количество проблем с расшифровкой кодировки у программы Excel встречается при попытке открытия файлов CSV или экспорте файлов txt. Часто, вместо обычных букв при открытии этих файлов через Эксель, мы можем наблюдать непонятные символы, так называемые «кракозябры». В этих случаях пользователю нужно совершить определенные манипуляции для того, чтобы программа начала корректно отображать данные. Существует несколько способов решения данной проблемы.
Способ 1: изменение кодировки с помощью Notepad++
К сожалению, полноценного инструмента, который позволял бы быстро изменять кодировку в любом типе текстов у Эксель нет. Поэтому приходится в этих целях использовать многошаговые решения или прибегать к помощи сторонних приложений. Одним из самых надежных способов является использование текстового редактора Notepad++.
Несмотря на то, что данный способ основан на использовании стороннего программного обеспечения, он является одним из самых простых вариантов для перекодировки содержимого файлов под Эксель.
Способ 2: применение Мастера текстов
Кроме того, совершить преобразование можно и с помощью встроенных инструментов программы, а именно Мастера текстов. Как ни странно, использование данного инструмента несколько сложнее, чем применение сторонней программы, описанной в предыдущем методе.
Переходим в директорию размещения импортируемого файла, выделяем его и кликаем по кнопке «Импорт».
Если данные отображаются все равно некорректно, то пытаемся экспериментировать с применением других кодировок, пока текст в поле для предпросмотра не станет читаемым. После того, как результат удовлетворит вас, жмите на кнопку «Далее».
Тут настройки следует выставить, учитывая характер обрабатываемого контента. После этого жмем на кнопку «Готово».
Способ 3: сохранение файла в определенной кодировке
Бывает и обратная ситуация, когда файл нужно не открыть с корректным отображением данных, а сохранить в установленной кодировке. В Экселе можно выполнить и эту задачу.
Документ сохранится на жестком диске или съемном носителе в той кодировке, которую вы определили сами. Но нужно учесть, что теперь всегда документы, сохраненные в Excel, будут сохраняться в данной кодировке. Для того, чтобы изменить это, придется опять заходить в окно «Параметры веб-документа» и менять настройки.
Существует и другой путь к изменению настроек кодировки сохраненного текста.
Теперь любой документ, сохраненный в Excel, будет иметь именно ту кодировку, которая была вами установлена.
Как видим, у Эксель нет инструмента, который позволил бы быстро и удобно конвертировать текст из одной кодировки в другую. Мастер текста имеет слишком громоздкий функционал и обладает множеством не нужных для подобной процедуры возможностей. Используя его, вам придется проходить несколько шагов, которые непосредственно на данный процесс не влияют, а служат для других целей. Даже конвертация через сторонний текстовый редактор Notepad++ в этом случае выглядит несколько проще. Сохранение файлов в заданной кодировке в приложении Excel тоже усложнено тем фактом, что каждый раз при желании сменить данный параметр, вам придется изменять глобальные настройки программы.
Помимо этой статьи, на сайте еще 12235 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Кодирование символов в unicode с использованием функции Excel
Для кодирования символов в unicode в программе Excel используется функция UNICODE. Она предназначена для выполнения преобразования первого символа строки в соответствующее ему кодовое (числовое) значение согласно таблице стандарта кодировки Юникод, и возвращает соответствующее числовое значение.
Unicode – распространенный стандарт кодирования символов, содержащий символы практически всех языков мира. Является наиболее востребованным стандартом для сервисов в глобальной сети и программных продуктов, используемых на локальных устройствах.
Примеры использования функции UNICODE для кодирования символов в Excel
Пример 1. В таблице введены несколько букв русского алфавита. Необходимо в смежном столбце вывести численные представления указанных символов в кодировке Юникод.
Чтобы вывести сразу все значения, выделим ячейки B1:B7 и запишем следующую формулу, а для подтверждения нажмем комбинацию клавиш CTRL+Enter:
Как видно из данного примера в кодировке Юникод каждый символ букв кириллицы кодируется в четырехзначное число.
Кодирование и представление символов чисел и в кодировке Юникод
Пример 2. Вывести массив случайных чисел от 0 до 9, создать массив кодов Unicode для данных чисел. Определить, существует ли между ними взаимосвязь (визуально с помощью графика).
Вид таблицы со столбцом, заполненным случайными числами:
Вычислим значения кодов Unicode с помощью формулы:
На основании данного графика можно сделать вывод: для больших значений чисел предусмотрены большие значения кодов, то есть нумерация в таблице Unicode идет последовательно для числовых значений (что, собственно, и так очевидно).
Посимвольное кодирование паролей в Excel
Пример 3. Создать простой способ шифрования пароля цифрами. В таблице есть несколько вариантов паролей, записать в смежном столбце их числовые шифры.
Вид таблицы данных:
Чтобы автоматизировать процедуру шифрования, необходима следующая логика:
Для такой задачи рационально использовать макросы VBA. С помощью функций Excel можно реализовать полу ручной подход:
Получим массивы символов для каждого из паролей:
Растянем данную формулу по строке и получим следующее:
Для получения шифра первого пароля используем следующую формулу массива:
Данная формула была записана в ячейку B7, поскольку формулы массивов не могут выполняться в объединенных ячейках. Аналогично сгенерируем шифры для остальных паролей:
Недостаток метода состоит в том, что для дешифрации (обратного преобразования) требуются ключи, указывающие на количество цифр, соответствующих числовому обозначению символа в Юникод.
Особенности кодирования с использованием функции UNICODE в Excel
Функция имеет следующую синтаксическую запись:
Единственным аргументом, обязательным для заполнения, является текст – текстовая строка или один символ, для которого требуется определить соответствующее числовое значение кодировки Юникод.
Сменить кодировку файла на UTF-8 в Excel
Если при импорте контактов вы видите нечитаемые символы, как на скриншоте, это значит, что кодировка файла не подходит для импорта в Unisender. Файл нужно перекодировать в UTF-8. Далее мы расскажем, как это сделать в Excel.
Переходим на вкладку «Данные», выбираем «Получение внешних данных», а далее — «Из текста».
Открывается мастер импорта текста.
С текущей кодировкой содержимое файла нечитабельное.
В поле «Формат файла» перебираем кодировки, пока не найдём ту, в которой текст отображается правильно. Вариантов много, поэтому можно начать с форматов, которые начинаются со слова «Кириллица». Находим нужный формат, нажимаем «Далее».
Выбираем символы-разделители. В нашем случае это запятая.
Нажимаем «Далее» → «Готово» → «OK».
Так выглядит импортированный текст в Excel.
Теперь нажимаем «Файл» → «Сохранить как».
Вводим название файла, тип файла выбираем CSV, ниже нажимаем «Сервис» → «Параметры веб-документа».
Переходим на вкладку «Кодировка», выбираем «Юникод UTF-8» и нажимаем «OK».
Теперь импортируем его и видим, что текст отображается корректно.
Макрос перекодировки (изменения кодировки) текста и файлов
Функции ChangeFileCharset и ChangeTextCharset предназначены для изменения кодировки символов в текстовых файлах и строках.
Исходную и конечную (желаемую) кодировку можно задать в параметрах вызова функций.
ВНИМАНИЕ: Новая (универсальная) версия функции сохранения текста в файл в заданной кодировке:
http://excelvba.ru/code/SaveTextToFile
Список доступных на вашем компьютере кодировок можно найти в реестре Windows в ветке
HKEY_CLASSES_ROOT\MIME\Database\Charset
Среди доступных кодировок есть koi8-r, ascii, utf-7, utf-8, Windows-1250, Windows-1251, Windows-1252, и т.д. и т.п.
Определить исходную и конечную кодировку можно, воспользовавшись онлайн-декодером:
http://www.artlebedev.ru/tools/decoder/advanced/
(после преобразования снизу будет написано, из какой кодировки в какую переведён текст)
‘ Функция для перекодировки файла в UTF-8 без BOM (то же самое, что и UTF-8, только без первых 3 байтов)
Функция перекодировки текста в UTF-8 без BOM
Комментарии
Это json_encode. Для этого нужен другой инструмент (функция):
https://excelvba.ru/code/JSON_decode
Указанный вами декодер вообще не распознаёт строку вида:
\u0410\u043a\u0442 \u043f\u043e \u0434\u0435\u043b\u0443 \u043e\u0431 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u043c \u043f\u0440\u0430\u0432\u043e\u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0438 \u043e\u0442 22.04.2019 \u2116 18810145190422907616 \u0426\u0410\u0424\u0410\u041f \u0412 \u041e\u0414\u0414 \u0413\u0418\u0411\u0414\u0414 \u0423\u041c\u0412\u0414 \u0420\u041e\u0421\u0421\u0418\u0418 \u041f\u041e \u041a\u0423\u0420\u0413\u0410\u041d\u0421\u041a\u041e\u0419
Соответственно и функция не работает. Тут должно быть unicode в utf-8
Добрый день! Необходимо конвертировать текст из ASCII (отрезанный старший бит) в Windows-1251. Каким образом можно модифицировать макрос для решения задачи?
Добрый день.
Парни, есть такая проблема, сам я из Казахстана, юзер пишет текст в ворде, например слово «СЛОВО», где буква С была написана на англ.языке, а все остальное слово на русском, или есть такие слова где русский язык и казахский (с казахской клавиатуры). Теперь при проверке на плагиат выходит ошибка кодировки, программа не понимает таких слов из двух или более языков, посоветуйте пожалуйста выход из такой ситуации, слышал что можно с помощью макросов, вот только с макросами не дружу, но в целом с понятия имею.
Огромное СПАСИБО за такой функционал!
Полдня истратил, пока нашел, как же из Excel перевести данные в UTF-8.
И тут такой подарок!
Это просто супер!
Здравствуйте, подскажите как пересохранить xls файл в формат csv с кодировкой utf8 без BOM разделитель ; с именем исходного файла
Алексей, ну есть же в конце статьи отдельная функция для вашего случая.
Вызывается так:
Скажите пожалуйста,
хотелось бы на выходе получить файл в кодировке UTF-8 без BOM
вызываю так: ChangeFileCharset filename, «UTF-8», «Windows-1251»
все нормально, но файл получается UTF-8
а хотелось бы UTF-8 без BOM
Это возможно? Если да, то как указать во втором параметре вызова функции?
Здравствуйте, Павел
В общем случае, кодировку txt файла никак не угадать (не проверить)
Можно лишь попробовать угадать, анализируя первые байты текста (правда, верно угадать можно с вероятностью, очень близкой к 100%)
Изменить кодировку без перезаписи файла — никак.
Смена кодировки текстового файла — это изменение байтового представления этого текста
(после перекодировки, файл может увеличиться или уменьшаться в размере в 2 раза)
Готовый макрос предложить не могу (ни разу подобное не делал, и кода немало получится)
Варианты решения проблемы:
1) ручная обработка, при помощи текстового редактора Notepad++
В нём можно открыть сразу кучу файлов, а потом, переключаясь между ними, смотреть текущую кодировку, и, при необходимости, перекодировать одним нажатием кнопки (см. меню Кодировки в Notepad++)
У меня почему-то при кодировании анси в уникод, не прокатил параметр «utf-8», а получилось только с «Unicode».







































