AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 699388
Accepted
Konstei
Konstei
Asked: 2022-04-18 10:45:01 +0800 CST2022-04-18 10:45:01 +0800 CST 2022-04-18 10:45:01 +0800 CST

图像文件中有哪些奇怪的字符?

  • 772

所以我对linux很陌生,我正在学习基本命令。我也很想知道事情是如何运作的,所以在我学会了 cat 和 nano 命令之后,我尝试在图像上使用它们,所有这些奇怪的符号都出现了(linux mint):

使用 nano 后将图像(index.jpeg)作为文件

我也在kali上试过,我得到了同样的东西,所以我相信它与图像的存储方式有关,但我还是在开始,我找不到任何关于这些符号到底是什么的解释意思是。

linux cat
  • 1 1 个回答
  • 207 Views

1 个回答

  • Voted
  1. Best Answer
    frabjous
    2022-04-18T11:08:39+08:002022-04-18T11:08:39+08:00

    所有的文件都是由 1 和 0 组成的,每一个都称为一个位。一个“字节”是 8 位。对于 8 位,有 256 种可能的 1 和 0 组合。

    纯文本文件中的数据,即nano要编辑的内容(终端期望使用 输出cat)被划分为字节。通常,文件中的每个字符构成一个字节。例如,在 ASCII 编码中,字母“A”是字节 01000001。某些字符编码(如 UTF-8)有时使用多个字节来表示一个字符,因为它们需要覆盖超过 256 个字符,但它们仍然将文件成字节。(“控制字符”也有字节,例如用于换行的“Control-J”。)

    图片是二进制文件,不是文本文件;它们的位也可以分为字节,但这些字节并不意味着代表字符/字母。

    当非文本文件作为文本文件打开时,文本编辑器会尝试将二进制文件的字节解释为代表字符。由于它们不打算这样做,因此二进制文件的字节与如果文件实际上是文本文件时这些相同字节将代表的字符之间存在相当多的随机相关性。但是,这就是 nano 试图将文件解释为的内容,因此您会得到随机字符,其中许多是通常不打算打印的控制字符,因此会产生奇怪的结果。

    这就是我理解发生了什么的方式。无论如何,我都不是计算机科学家,所以我希望评论者会在需要时改进我的答案。

    显然,如果你想编辑图像,你应该使用像 gimp 或 krita 这样的图像编辑器,而不是文本编辑器。您可以假设使用二进制编辑器或十六进制编辑器等,但这需要非常详细的知识,了解图像格式如何将其表示的数据转换为位和字节,我认为这对于不同的图像格式是不同的。

    • 6

相关问题

  • 有没有办法让 ls 只显示某些目录的隐藏文件?

  • 使用键盘快捷键启动/停止 systemd 服务 [关闭]

  • 需要一些系统调用

  • astyle 不会更改源文件格式

  • 通过标签将根文件系统传递给linux内核

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve