test.txt 如果我那么 file test.txt 我得到t-6ren">
gpt4 book ai didi

encoding - 猜测UTF-8编码

转载 作者:行者123 更新时间:2023-12-02 14:41:34 25 4
gpt4 key购买 nike

我有一个问题,可能很幼稚,但我觉得有必要问,因为我真的不知道发生了什么。我在 Ubuntu 上。

假设我这样做

echo "t" > test.txt

如果我那么

file test.txt

我得到test.txt:ASCII文本

如果我那么做

echo "å" > test.txt

然后我就明白了

test.txt: UTF-8 Unicode text

这是怎么发生的?文件如何“知道”编码,或者,它如何猜测它?

谢谢。

最佳答案

某些字节序列表明可能正在使用 UTF-8 编码(请参阅 Wikipedia )。如果 file 找到其中一个或多个,并且没有找到任何不能出现在 UTF-8 中的内容,则可以合理猜测该文件是用 UTF-8 编码的。但同样,这只是猜测。对于基本 ASCII 字符集(像 't' 这样的普通字符),大多数常见编码(包括 UTF-8)中的二进制表示形式是相同的,因此如果文件仅包含基本 ASCII 字符,file 无法区分多种 ASCII 兼容编码中的哪一种。默认情况下它只使用 ASCII。

需要注意的另一件事是您的 shell 设置为使用 UTF-8,这就是文件首先以 UTF-8 写入的原因。可以想象,您可以将 shell 设置为使用另一种编码,例如 UTF-16,然后命令

echo "å" > test.txt

将使用 UTF-16 写入文件。

关于encoding - 猜测UTF-8编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1408369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com