Mac: для чего ~/.CFUserTextEncoding?

Итак, у меня есть это .CFUserTextEncoding файл в моем доме реж. Результаты поиска Google далеко не идеальны, заполнены старыми уродливыми страницами форума. Apple дает мне не связанную статью поддержки. АЦП дает мне не связанный технот.

Все, что я могу пока собрать, это то, что это связано с Core Foundation, и, ну, в некоторой степени, с пользовательским кодированием текста. Тем не мение:

  • Почему у меня это есть?
  • Могу ли я не иметь это?
  • Для чего это нужно, на что это влияет?
  • В каком формате это?
  • Должен ли я редактировать это вручную?
  • Могу ли я, независимо?

2 ответа

Решение

~/.CFUserTextEncoding хранит кодировку текста по умолчанию и предпочтительный язык для пользователя. Ниже приведен отрывок из Технической ноты 2228 Справочной библиотеки Mac OS X с дополнительной информацией:

Core Foundation пытается получить доступ к домашнему каталогу пользователя, чтобы определить его кодировку текста по умолчанию (хранится в файле ~/.CFUserTextEncoding). Если вы переключите EUID на UID входящего в систему пользователя, а затем вызовете CF, у вас могут возникнуть проблемы, когда Core Foundation получит доступ к этому файлу. Вы можете предотвратить этот доступ, установив переменную среды, которая сообщает Core Foundation кодировку текста по умолчанию для использования. Имя переменной среды: __CF_USER_TEXT_ENCODING. Его значение должно быть составлено с помощью строки формата "0x%X:0:0", где% X заменяется UID пользователя, вошедшего в систему.

По умолчанию моя копия ~/.CFUserTextEncoding содержал 0:0. Первое число слева от двоеточия представляет кодировку по умолчанию. 0 в моем файле для kCFStringEncodingMacRoman. Список кодировок и связанный номер можно найти в справочнике CFString.

Значение после двоеточия представляет предпочтительный язык пользователя. Чтобы изменить предпочитаемый язык, перейдите в раздел "Язык и текст" в "Системных настройках" и переместите новый язык в начало списка. Чтобы подтвердить, что файл был изменен, вы можете открыть терминал и набрать cat ~/.CFUserTextEncoding, что привело к 0:3, когда я сменил предпочитаемый язык с английского на немецкий.

Файл представляет собой просто два числа, разделенных двоеточием; второй из которых соответствует активному языку. Отвечая на ваши вопросы:

Почему у меня это есть? Для чего это нужно, на что это влияет? Приложения используют его для запуска в среде при запуске.

Могу ли я не иметь это? Скорее всего, это будет воссоздано.

В каком формате это? Произвольное.

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

Могу ли я, независимо? Конечно.

Другие вопросы по тегам