为什么使用 vi 创建不同编码的文件

为什么使用 vi 创建不同编码的文件

当我使用 Bash 脚本时,我总是使用vi.

我正在调试一个理论上正确编写的脚本,我决定检查使用该file命令创建的文件。这就是我所看到的。

myScript1  Bourne-Again shell script text executable, Unicode text, UTF-8 text
myScript2  ASCII text
myScript3  POSIX shell script text executable, ASCII text
myScript4  Unicode text, UTF-8 text

同一天创建的四个脚本怎么会有vi不同的编码?

我正在调试的是ASCII text

如何将其更改为Bourne-Again shell script text executable, Unicode text, UTF-8 text

答案1

file只是根据文件的内容猜测文件的类型。我们需要查看这些文件的一些内容。

猜测发生了什么:

这两种不同类型的脚本可能是由#!文件开头的不同 shebang ( ) 行引起的。

ASCII 文本和 UTF-8 文本之间的区别可能只是其中是否包含多字节字符(字符代码 > 127)。文件必须猜测 UFT-8 和 ASCII 之间的差异,因为字节之间没有实际差异。

但如果未找到大于 127 的字符代码,则 ASCII 和 UTF-8 是相同的。

相关内容