仅用 1 个字节在文本文件中存储十进制数

仅用 1 个字节在文本文件中存储十进制数

我想将数字 97 存储在文本文件中。十六进制为 0x61,应占用 8 位或 1 字节的存储空间。但是当我在文本文件中输入 97 时,它占用 2 字节的存储空间(因为它将每个数字存储为单独的字符)。所以我想知道是否有任何方法可以将数字存储在仅占用 1 字节存储空间的文本文件中?

答案1

可以,97d 的十六进制表示是 61h

xxd 可以存储和读取您想要的精确字节。

所以

C:\carp>echo 61|xxd -r -p >a.a

C:\carp>xxd -p a.a
61

C:\carp>

另一种方法是在记事本中打开一个文件,输入“a”,然后将其保存为 ascii(这是默认设置)。记事本将在文件中存储 0x61。记事本会将其读取为“a”,但文件中的整数值为 97d,即 61h。

您甚至可以在记事本中编写可执行程序!您需要一些汇编知识,并确保输入的字母的二进制编码是您想要的!

也许你想要一个程序,从文件 aa 读取一个字节并显示其整数值。一个命令将是理想的选择。可以写一个。

答案2

是的。在 Unicode 中,小写字母 a 表示为 97。本质上文本文件代表字符,因此以这种方式存储数字可能会适得其反。

相关内容