【发布时间】:2015-09-07 12:09:56
【问题描述】:
我有一个脚本,它从一台服务器读取一些数据并将其存储在一个文件中。但该文件似乎以某种方式损坏。我可以将其打印到显示器上,但使用 file 检查文件会产生
bash$ file -I filename
filename: text/plain; charset=unknown-8bit
为什么它告诉我编码未知?文件的第一行显示为
“The Galaxy A5 and A3 offer a beautifully crafted full metal unibody
十六进制转储显示前三个字节是 0xE2、0x80、0x9C,后跟常规 ASCII 文本 The Galaxy A5...
怎么了?为什么file 告诉我编码未知,实际上是什么?
【问题讨论】:
-
无法访问文件或某种指示其中包含什么以及它是如何损坏的;不,我们不可以。不妨查看
character-encodingtag wiki,了解如何提出适度智能问题的一些技巧。 -
不,“Mac”不会默默地更改任何编码。也许您的特定工作流程中存在某些问题,但由于我们不知道那是什么,因此我们无法为您提供帮助。
-
只需在终端上打印就可以正常工作。只是将其重定向到文件会产生问题。
-
您仍然未能提供我们要求的信息。如果您的终端设置为使用与文件相同的编码,则不是 UTF-8 的文件将在终端中正常打印。但我们无法猜测它是什么;你只是说它绝对不是 UTF-8。
-
上面的第一条评论有一些具体的建议。简而言之,几个字节的十六进制转储应该已经产生了奇迹,特别是如果这些字节不是普通的 7 位 ASCII,尤其是如果你能告诉我们它们应该显示为什么。
标签: macos utf-8 character-encoding file-encodings