gpt4 book ai didi

linux - Linux 'cat'如何解码文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:50:13 25 4
gpt4 key购买 nike

我想知道 Linux cat 是如何解码文件的。假设它是一个英文文本文件,该命令似乎是用ASCII 解码的,但是cat 将如何解码随机的一段文件呢?

最佳答案

它绝对不会解码任何东西。它只是一次读取一行并逐字节输出。

就正在进行的解码而言,它发生在您的终端软件中。您可能想了解您的 locale 是如何运作的影响系统的运行。

对于一个简短的实验,打印一些与你的终端不兼容的东西:

bash$ perl -e 'print("\xff\xff")'
��

现在观察 cat 是如何影响它的(即根本没有影响)

bash$ perl -e 'print("\xff\xff")' | cat
��

要更详细地检查发生了什么,可以向十六进制转储程序添加一个管道,例如 xxd:

bash$ perl -e 'print("\xff\xff")' | xxd
00000000: ffff

bash$ perl -e 'print("\xff\xff")' | cat | xxd
00000000: ffff

(假设您有一个语言环境,其中输出不是实际字符的有效字节序列,例如 UTF-8。)

也许还可以参见 What is character encoding and why should I bother with it

关于linux - Linux 'cat'如何解码文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57669522/

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