- Как определить кодировку файла в Mac OS по командной строке 2021
- 5 Terminal Commands EVERY Mac User Should Know!
- Определение кодировки файла и набора символов с помощью командной строки в Mac OS
- Как определить кодировку файлов в Mac OS с помощью командной строки
- Определение кодировки файлов и набора символов через командную строку в Mac OS
- Как определить кодировку файлов в OSX?
- 15 ответов
- Кривые файлы txt. Или как настроить кодировку на Mac
- Решение проблемы
- Приводим русские тексты на Mac OS X в одну кодировку Python-скриптом
Как определить кодировку файла в Mac OS по командной строке 2021
5 Terminal Commands EVERY Mac User Should Know!
Вы можете определить кодировку файлов и набор символов с помощью командной строки в Mac OS (и Linux) с помощью команды «file», которая помогает получить общую и конкретную информацию о типе файла.
Это, вероятно, не будет уместным советом для многих пользователей, но если вам необходимо работать с определенным набором символов для чего-либо или вам нужно знать, что тип файла, кодировка или набор символов для введенного элемента, между прочим из командной строки, то это сделает свое дело.
Команда file работает в Mac OS и Mac OS X, а также в Linux и многих других Unix-вариациях, что делает этот трюк полезным для сценариев и других аналогичных целей.
Определение кодировки файла и набора символов с помощью командной строки в Mac OS
Основной синтаксис выглядит следующим образом:
file -I (input file)
(В случае, если это не было очевидно, это заглавная буква «i» в качестве флага, как в -I, а не строчная буква L)
Нажатие на return с правильным именем файла в качестве ввода покажет набор символов, такой как UTF-8, us-ascii, двоичный, 8-битный и т. Д.
Например, скажем, мы проверяем набор символов и кодировку файла с именем «text.txt», тогда синтаксис будет выглядеть так:
$ file -I text.txt
text.txt: text/plain; charset=unknown-8bit
«Text / plain» — тип файла, а «unknown-8bit» — кодировка файла набора символов.
Вы также можете выполнить команду file буквально для любого другого файла, будь то изображения, архивы, исполняемые файлы или что-либо еще, на что вы хотите указать команду. Это может быть полезно, если вы автоматизируете что-то, чтобы определить тип файла, чтобы затем запустить соответствующую команду, возможно, после того, как файл был загружен с помощью curl, и необходимо определить тип архива, прежде чем можно будет выполнить правильную команду.
$ file -I DownloadedFile.zip
DownloadedFile.zip: application/zip; charset=binary
Существует много других применений для проверки набора символов, кодировки и типа файла с помощью командной строки с помощью команды «file», а флаг -I является лишь одним из множества доступных параметров. Посетите страницу справочника для файла, чтобы узнать больше, если вы заинтересованы, и не забудьте проверить наши другие советы по командной строке (или перечислить все команды терминала, доступные на Mac, и немного повеселиться).
Знаете ли вы другой или лучший способ проверить кодировку файла и набор символов с помощью командной строки в Mac OS? Дайте нам знать об этом в комментариях!
Источник
Как определить кодировку файлов в Mac OS с помощью командной строки
Вы можете определить кодировку и символы файлов, установленные в командной строке в Mac OS (и linux), используя команду «файл», которая помогает получить общую и конкретную информацию о типе файла.
Вероятно, это не будет подходящим советом для многих пользователей, но если вам требуется работать с определенным набором символов для чего-то или вам нужно знать, какой тип файла, кодировка или набор символов введенного элемента командной строки, то это сделает трюк.
Команда файла работает в Mac OS и Mac OS X, а также в Linux и многих других версиях unix, что делает этот трюк полезным для сценариев и других подобных целей.
Определение кодировки файлов и набора символов через командную строку в Mac OS
Основной синтаксис выглядит следующим образом:
файл -I (входной файл)
(В случае, если это не было очевидно, это капитал «i» в качестве флага, как в -I, а не в нижнем регистре L)
Нажатие возврата с правильным именем файла, так как вход будет отображать набор символов, такой как UTF-8, us-ascii, двоичный, 8 бит и т. Д.
Например, допустим, мы проверяем набор символов и кодировку файла с именем «text.txt», тогда синтаксис будет выглядеть так:
$ file -I text.txt
text.txt: text / plain; кодировка = неизвестно-8bit
«Text / plain» — это тип файла, а «unknown-8bit» — кодировка файла набора символов.
Вы также можете выдать команду файла буквально любому другому файлу, будь то изображения, архивы, исполняемые файлы или что-то еще, на что вы хотите указать команду. Это может быть приятно, если вы автоматизируете что-то для определения типа файла, а затем запускаете соответствующую команду, возможно, после того, как файл был загружен с помощью curl, и тип архива должен быть определен до того, как будет выполнена правильная команда.
$ file -I СкачанFile.zip
ЗагруженоFile.zip: application / zip; кодировка = двоичная
Существует много других применений для проверки набора символов, кодирования файлов и типа файла через командную строку с помощью команды «файл», а флаг -I — только один из множества доступных вариантов. Просмотрите страницу руководства для файла, чтобы узнать больше, если это интересно, и не забудьте ознакомиться с нашими другими советами в командной строке (или перечислить все команды терминала, доступные на Mac, и немного повеселиться).
Вы знаете другой или лучший способ проверить кодировку и набор символов через командную строку в Mac OS? Дайте нам знать об этом в комментариях!
Источник
Как определить кодировку файлов в OSX?
Я пытаюсь ввести некоторые символы UTF-8 в файл LaTeX в TextMate (который говорит, что его кодировка по умолчанию-UTF-8), но LaTeX, похоже, не понимает их. Бег!—1—> показывает символы правильно в терминале. Бег!—2—> показывает то, что я никогда не видел раньше: «@ » в файл выглядит так:
(и, да, я использую usepackage[utf8]
я нашел iconv , но это, похоже, не может сказать мне, что такое кодировка — он изменится, только когда я это выясню.
15 ответов
на @ означает, что файл имеет расширенные атрибуты файлов, связанных с ним. Вы можете запросить их с помощью
С помощью -I (это заглавная i) опция в команде file, кажется, показывает кодировку файла.
в Mac OS X команда file -I (capital i) даст вам правильный набор символов, пока файл, который вы тестируете, содержит символы за пределами основного диапазона ASCII.
например, если вы заходите в терминал и используете vi для создания файла, например. vi test.txt затем вставьте несколько символов и включите акцентированный символ (попробуйте ALT-e, а затем e) затем сохраните файл.
они типа file -I text.txt и вы должны получить такой результат:
test.txt: text/plain; charset=utf-8
вы также можете конвертировать из одного типа файлов в другой, используя следующую команду:
aliased где-то в моей конфигурации bash как
поэтому я просто набираю
на моем ванильном OSX Yosemite он дает более точные результаты, чем «file-I»:
используя с (например, file —mime-encoding some_file.txt ) вместо опции-I работает на OS X и имеет дополнительное преимущество, опуская тип mime, «text/plain», о котором вы, вероятно, не заботитесь.
классический 8-битный LaTeX очень ограничен в том, какие символы UTF8 он может использовать; это сильно зависит от кодировки шрифта, который вы используете, и какие глифы этот шрифт доступен.
поскольку вы не даете конкретный пример, трудно точно знать, где проблема — пытаетесь ли вы использовать глиф, которого нет у вашего шрифта, или вы не используете правильную кодировку шрифта в первую очередь.
вот минимальный пример, показывающий, как в документе LaTeX можно использовать несколько символов UTF8:
вам может повезти с кодировкой [utf8x], но будьте немного предупреждены, что она больше не поддерживается и имеет некоторые особенности по сравнению с [utf8] (насколько я помню, прошло некоторое время с тех пор, как я смотрел на нее). Но если это поможет, это все, что имеет значение для тебя.
символ » @ » означает, что файл имеет расширенные атрибуты. xattr file показывает, какие атрибуты она имеет, xattr -l file также показывает значения атрибутов (которые иногда могут быть большими-попробуйте, например, xattr /System/Library/Fonts/HelveLTMM чтобы увидеть шрифт старого стиля, который существует в вилке ресурсов).
введя file myfile.tex в терминале иногда могу сказать вам кодировку и тип файла, используя ряд алгоритмов и магических чисел. Это довольно полезно, но не полагайтесь на него, предоставляя конкретную или достоверную информацию.
A Localizable.strings файл (найден в локализованных приложениях Mac OS X) обычно сообщается, что это исходный файл UTF-16 C.
Synalyze Его! позволяет сравнивать текст или байты во всех кодировках в библиотека ICU предложения. Используя эту функцию, вы обычно сразу видите, какая кодовая страница имеет смысл для ваших данных.
вы можете попробовать загрузить файл в окно firefox, а затем перейти к кодировке View-Character. Рядом с типом кодировки файла должен быть флажок.
какой латекс вы используете? Когда я использовал teTeX, мне пришлось вручную загрузить unicode пакет и добавьте это в мой .файлы Tex:
Теперь я переключился на XeTeX из пакета TeXlive 2008 (здесь), еще проще:
Что касается обнаружения кодировки файла, вы можете играть с file(1) (но он довольно ограничен), но, как сказал кто-то другой, это сложно.
грубым способом проверки кодировки может быть просто проверка файла в шестнадцатеричном редакторе или аналогичном. (или напишите программу для проверки) посмотрите на двоичные данные в файле. Формат UTF-8 довольно легко распознать. Все символы ASCII являются одиночными байтами со значениями ниже 128 (0x80) Многобайтовые последовательности следуют шаблону, показанному в статьи
Если вы можете найти более простой способ получить программу для проверки кодировки для вас, это, очевидно, ярлык, но если все остальное не сработает,это сработает.
я реализовал сценарий bash ниже, он работает для меня.
он сначала пытается iconv из кодировки, возвращенной file —mime-encoding to utf-8 .
если это не удается, он проходит через все кодировки и показывает разницу между оригиналом и перекодируется файл. Он пропускает кодировки, которые производят большой выход diff («большой», как определено MAX_DIFF_LINES переменной или второй входной аргумент), так как это скорее всего неправильная кодировка.
если «плохие вещи» произойти в результате использования этого скрипта, не вини меня. Есть rm -f там, так что есть монстры. Я пытался предотвратить неблагоприятные последствия, используя его для файлов со случайным суффиксом, но я не даю никаких обещаний.
Источник
Кривые файлы txt. Или как настроить кодировку на Mac
Скорее всего многим пользователям Mac приходилось работать с файлами txt. Чаще всего в этом формате представлены различные мануалы, readme, инструкции и т.д. И если эти документы были созданы в Windows среде, то при открытии их на Mac, может возникнуть небольшая, но в тоже время крайне неприятная проблема с кодировкой.
Давайте вместе разберёмся как научить Mac на 100% распознавать txt файл созданный на «Винде».
Дело в том, что операционные системы Apple и Microsoft руководствуется разными стандартами при кодировании кириллицы, отсюда и проблемы с её отображением. Существуют специальные утилиты призванные подружить кодировку Windows с Mac OS X, но предлагаю обойтись штатными средствами.
Решение проблемы
Исходную кодировку на Mac нужно сменить на Windows Cyrillic. Для этого находим в домашней папке скрытый файл .CFUsertextEncoding.
Для отображения скрытых файлов необходимо зайти в Терминал (программы > утилиты) и ввести команду (можете скопировать).
и нажать enter.
Далее, для того чтобы изменения вступили в силу, нужно перезапустить Finder. Вводим команду.
и опять enter.
Для того чтобы опять сделать файлы скрытыми, нужно заменить в первой команде true на false, а затем опять перезапустить Finder.
Итак, кликаем по этому файлу правой кнопкой и в подразделе «открыть в программе» выбираем TextEdit. В документе присутствует только одна строка, в которой нужно значение 0x7 заменить на 0x502. После чего сохраняем файл, перезагружаем Mac и радуемся.
Если помогла статья, не ленись. Нажми кнопку — поделись! )
Источник
Приводим русские тексты на Mac OS X в одну кодировку Python-скриптом
Случилось мне иметь ноут на OS X, комп на Linux и одного из друзей с Windows. И вот через dropbox обмениваются все эти три компа документами разными. В том числе и текстовыми, в которых хранятся разные заметки, задачи и т.п. И вот незадача: тексты написанные на MacOSx плохо читаются в блокноте Винды, а виндовые в textedit на MacOSx.
И вся причина в том, что на винде блокнот использует кодировку Windows 1251, а на OS X используется по умолчанию MACCYRILLIC. Причем обе программы без проблем работают с UTF-8 кодировкой.
Вот только конвертировать из одной кодировки в другую как-то неудобно, лишнее время тратить на открытие терминала и набор заветных команд iconv…
Пораздумав, написал небольшой скрипт, который сам определяет используемую кодировку и конвертирует в UTF-8 все txt-файлы.
Что использую для всего:
Python 2.7
Mac OS X 10.7.5
PyCharm IDE
Изначально сделал определение кодировки самостоятельно, без дополнительных модулей. Но по совету ad3w решил переписать с использованием готового модуля chardet для определения кодировки.
Кому интересно, предыдущий
Определение происходит простым перебором кодировок и выбором той, в которой не будет лишних символов. А набор символов определяете Вы. Конечно этот способ не подойдет для файлов с DOS-графикой, но в обычных целях использования txt его вполне хватит.
Скачиваем модуль chardet 1.1,
Распаковываем и устанавливаем:
Создаем свой скрипт для перекодировки файлов:
Далее необходимо сделать удобным запуск данного скрипта прямо из папки в OS X.
Открываем Automator и создаем Службу.
Вверху выбираем пункты, чтобы получилось «Служба получает файлы и папки в Finder.app».
Далее ставим действие «получить выбранные объекты Finder».
Далее «Запустить Shell-скрипт» в настройках его «Передать ввод: как аргументы» и в нем содержание:
Дописал 2>/dev/null, чтобы автоматор не останавливал выполнение при выводе ошибки модуля chardet.
И последний пункт «Show Growl Notification» (в нем можно написать, что конвертация произведена).
Сохраняем с именем латинскими буквами (с русскими у меня почему-то пункт в меню не появлялся, пока не переименовал) и проверяем.
Новый пункт меню появится в Finder в меню файлов и папок в подменю Сервисы.
Источник