所以我的主目录中有这个.CFUserTextEncoding
文件。谷歌搜索结果不太理想,充斥着丑陋的旧论坛页面。苹果给了我一篇不相关的支持文章。ADC 给了我一份不相关的技术说明。
到目前为止,我所能收集到的信息是它与 Core Foundation 以及一些用户文本编码有关。无论如何:
- 我为什么会有它?
- 我可以不要它嗎?
- 它是用来做什么的?会产生什么影响?
- 它是什么格式的?
- 我应该手动编辑它吗?
- 不管怎样我都可以吗?
答案1
~/.CFUserTextEncoding
存储用户的默认文本编码和首选语言。以下是摘录自技术说明 2228Mac 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。
答案2
该文件只是两个用冒号分隔的数字;第二个数字对应于活动语言。回答您的问题:
我为什么要有它?它有什么用处?它有什么影响?应用程序在启动时使用它来拉入环境。
我可以不拥有它吗?它很可能会被重新创建。
格式是什么?任意。
我应该手动编辑吗?如果你准备好让你的 Mac 使用随机语言!
不管怎样,我能做到吗?当然。