【问题标题】:All binary converters return 8 digits所有二进制转换器返回 8 位数字
【发布时间】:2019-10-04 00:31:30
【问题描述】:

所有文本到二进制转换器返回每个字母代码 8 位 - 是否还有另一个 0/​​1 系统具有更少或更多的数字?

我听说有不同形式的二进制代码,但所有文本到二进制转换器都返回每个字母代码 8 位数字(例如 01001101)。

是否存在仅包含 0 和 1 且位数更少或更多的文本到二进制转换?

如果我想将文本转换为 0 和 1,我是否总是以每个字母 8 位结束?这种8位数的二进制转换是不是现在常用的?

【问题讨论】:

标签: binary


【解决方案1】:

将字母表示为二进制需要某种标准。否则计算机通过网络相互发送比特永远无法理解将这些比特变成什么字母!

字符编码有很多标准:
ASCIIUTF-8UTF-16EBCDICmore

但为什么字母(几乎)总是转换为 8 位?

在考虑字母之前,二进制只是一个带有两个符号的数字系统。你可以数多少就多少……
0, 1, 10, 11, 100, 101, 110, 111...

看看这与十进制系统有何相似之处:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13...

计算机被设计成以字节存储数字。一个字节总是 8 位长,这意味着可以在一个字节中存储 0 到 255 之间的任何数字。

现在有了小数,您可以为从 1 到 26 的每个数字分配一个字母:
a=1, b=2, c=3 ... z=26

在二进制中你也可以这样做:
a=0, b=10, c=11 ... z=11001

这是我们进入字符编码的地方。 ASCII 是一种非常常见的将字母编码为数字的系统。

在ASCII标准中,你可以看到A=65,也就是二进制的01000001。由于大多数计算机和软件都理解 ASCII(或 UTF-8),因此您可以确定在原始数据中加载带有 01000001 的文本文件会导致该字符在任何计算机上显示为 A

如果你想用非标准的方式表示一个字符,也许使用 9 位,你绝对可以做到!但这意味着您正在使用自己的编码系统,而其他软件/计算机/人们在没有您的支持文档的情况下将无法将二进制文件转换回字母。

【讨论】:

    猜你喜欢
    • 2018-09-15
    • 1970-01-01
    • 2018-06-24
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多