web-dev-qa-db-ja.com

Mac:〜/ .CFUserTextEncodingは何のためのものですか?

だから私はこれを持っています.CFUserTextEncodingホームディレクトリのファイル。 Googleの検索結果は理想的とは言えず、古い醜いフォーラムページで埋め尽くされています。 Appleは無関係のサポート記事をくれます。ADCは無関係のテクニカルノートをくれます。

これまでに私が収集できるのは、それがCore Foundationに関連していること、そしていくつかのユーザーテキストエンコーディングだけです。とにかく:

  • なぜ私はそれを持っているのですか?
  • 持てませんか?
  • それは何のためですか、それは何に影響しますか?
  • それはどの形式ですか?
  • 手動で編集する必要がありますか?
  • とにかく、私はできますか?
42
kch

~/.CFUserTextEncodingは、ユーザーのデフォルトのテキストエンコーディングと優先言語を格納します。以下は、Mac OS Xリファレンスライブラリの テクニカルノート2228 からの抜粋です。

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 Reference にあります。

コロンの後の値は、ユーザーの優先言語を表します。優先言語を変更するには、[システム環境設定]の[言語とテキスト]に移動し、新しい言語をリストの一番上に移動します。ファイルの変更内容を確認するには、ターミナルを開いてcat ~/.CFUserTextEncodingと入力します。優先言語を英語からドイツ語に変更すると、0:3になります。

43
Matthew Rankin

ファイルは単にコロンで区切られた2つの数値です。 2番目はアクティブな言語に対応します。あなたの質問に答える:

なぜ私はそれを持っているのですか?それは何のためですか、それは何に影響しますか?アプリケーションは、起動時に環境でプルするためにそれを使用します。

持てませんか?ほとんどの場合、再作成されます。

それはどの形式ですか?任意。

手動で編集する必要がありますか? Macをランダムな言語にする準備ができたら!

とにかく、私はできますか?もちろん。

4
Jeremy L