- Проблемы с кириллицей в приложении TextEdit на Mac OS X. Как решить?
- Приводим русские тексты на Mac OS X в одну кодировку Python-скриптом
- Как определить кодировку файлов в Mac OS с помощью командной строки
- Определение кодировки файлов и набора символов через командную строку в Mac OS
- How do I determine file encoding in OS X?
- 15 Answers 15
- Как определить кодировку файла в Mac OS по командной строке 2021
- 5 Terminal Commands EVERY Mac User Should Know!
- Определение кодировки файла и набора символов с помощью командной строки в Mac OS
Проблемы с кириллицей в приложении TextEdit на Mac OS X. Как решить?
Несмотря на все преимущества современных программ и онлайн-сервисов, предназначенных для работы с текстовыми документами, многие пользователи часто сталкиваются с необходимостью использования самых обычных файлов формата .txt. При этом документы, сохраненные на Windows, могут некорректно отображаться на Mac, в этом материале мы расскажем о том, как решить эту проблему.
Итак, операционные системы от Apple и Microsoft используют различные стандарты при кодировке текстовых документов (на кириллице), что приводит к неправильному отображению шрифтов при чтении файла. Естественно, для разрешения данной проблемы существует несколько специальных утилит, однако можно обойтись и штатными средствами Mac OS X.
По умолчанию Mac OS X обычно использует кодировку Mac Cyrillic или Mac Roman, в таком случае текстовые файлы, закодированные в Windows Cyrillic, будут выглядеть примерно так, как показано на скриншоте ниже. Чтобы изменить кодировку по умолчанию, необходимо в домашней папке отыскать скрытый файл .CFUserTextEncoding (о том, как настроить отображение скрытых файлов, читайте здесь).
В этом файле имеется всего одна строка, в которой значение до двоеточия обозначает используемую кодировку кириллицы. В нашем случае это «0x7» — Mac Cyrillic.
Чтобы переключиться на искомую Windows Cyrillic, достаточно изменить это значение на «0x502» прямо в текстовом редакторе, сохранить файл и перезапустить Finder (иногда требуется перезагрузка компьютера).
Результат:
Источник
Приводим русские тексты на 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 в меню файлов и папок в подменю Сервисы.
Источник
Как определить кодировку файлов в 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? Дайте нам знать об этом в комментариях!
Источник
How do I determine file encoding in OS X?
I’m trying to enter some UTF-8 characters into a LaTeX file in TextMate (which says its default encoding is UTF-8), but LaTeX doesn’t seem to understand them.
Running cat my_file.tex shows the characters properly in Terminal. Running ls -al shows something I’ve never seen before: an «@» by the file listing:
(And, yes, I’m using \usepackage[utf8]
I’ve found iconv , but that doesn’t seem to be able to tell me what the encoding is — it’ll only convert once I figure it out.
15 Answers 15
Using the -I (that’s a capital i) option on the file command seems to show the file encoding.
In Mac OS X the command file -I (capital i) will give you the proper character set so long as the file you are testing contains characters outside of the basic ASCII range.
For instance if you go into Terminal and use vi to create a file eg. vi test.txt then insert some characters and include an accented character (try ALT-e followed by e) then save the file.
They type file -I text.txt and you should get a result like this:
test.txt: text/plain; charset=utf-8
The @ means that the file has extended file attributes associated with it. You can query them using the getxattr() function.
There’s no definite way to detect the encoding of a file. Read this answer, it explains why.
There’s a command line tool, enca, that attempts to guess the encoding. You might want to check it out.
aliased somewhere in my bash configuration as
On my vanilla OSX Yosemite, it yields more precise results than «file -I»:
You can also convert from one file type to another using the following command :
Using file command with the —mime-encoding option (e.g. file —mime-encoding some_file.txt ) instead of the -I option works on OS X and has the added benefit of omitting the mime type, «text/plain», which you probably don’t care about.
Classic 8-bit LaTeX is very restricted in which UTF8 characters it can use; it’s highly dependent on the encoding of the font you’re using and which glyphs that font has available.
Since you don’t give a specific example, it’s hard to know exactly where the problem is — whether you’re attempting to use a glyph that your font doesn’t have or whether you’re not using the correct font encoding in the first place.
Here’s a minimal example showing how a few UTF8 characters can be used in a LaTeX document:
You may have more luck with the [utf8x] encoding, but be slightly warned that it’s no longer supported and has some idiosyncrasies compared with [utf8] (as far as I recall; it’s been a while since I’ve looked at it). But if it does the trick, that’s all that matters for you.
Источник
Как определить кодировку файла в 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? Дайте нам знать об этом в комментариях!
Источник