我正在玩 Unix hexdump 实用程序。我的输入文件是 UTF-8 编码的,包含单个字符 ñ
,即十六进制 UTF-8 中的 C3 B1
。
hexdump test.txt
0000000 b1c3
0000002
嗯?这显示了 B1 C3
- 与我的预期相反!谁能解释一下?
为了获得预期的输出,我这样做:
hexdump -C test.txt
00000000 c3 b1 |..|
00000002
我以为我了解编码系统。
最佳答案
这是因为 hexdump 默认使用 16 位字并且您在小端架构上运行。字节序列b1 c3
因此被解释为十六进制字c3b1
。 -C
选项强制 hexdump 使用字节而不是单词。
关于hexdump输出顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35719798/