为什么二进制数据不能插入/显示为 1 和 0?

Jac*_*amm 1 sql-server ssms encoding varbinary

如果我有一个类型为binary或 的列varbinary,我将数据想象为一个位序列。例如,对我来说,01001(作为基数 2 的数字)可能是列中的有效值是有意义的binary(5)

为什么以这种方式插入和显示二进制数据并不简单?

例如,为什么 SSMS 将二进制数据转换为十六进制,而不是显示一系列 1 和 0(在我看来,这更容易推理)?

Dav*_*oft 7

为什么以这种方式插入和显示二进制数据并不简单?

是的。Base-2 二进制字符串非常长且效率低下,因此几乎所有编程语言和平台都使用 Base-16 或“十六进制字符串”以人类可读的形式读写二进制数据。

所以而不是

01001101

您使用一个 ascii 字符 0-9,每 4 位使用 AF,并且有

4D

  • 我认为是因为在描述数据类型和数据文件布局时,“二进制”一直被用作“文本”或“字符”的反义词。 (2认同)