Binary 以数字形式存储二进制数据的最佳方式是什么?

Binary 以数字形式存储二进制数据的最佳方式是什么?,binary,ascii,modular-arithmetic,number-systems,Binary,Ascii,Modular Arithmetic,Number Systems,我想知道是否可以将二进制数据存储在一个数字中,以及如何将尽可能多的二进制数据存储在一个数字中 例如,假设我想将以下文本存储在一个数字中: Lorem ipsum dolor sit amet,是一位杰出的献身者。多奈克·埃格斯塔斯 努克·埃吉特·朗卡斯·布兰迪特 以二进制形式,这是: 01001100 01101111 01110010 01100101 01101101 00100000 01101001 01110000 01110011 01110101 01101101 00100000

我想知道是否可以将二进制数据存储在一个数字中,以及如何将尽可能多的二进制数据存储在一个数字中

例如,假设我想将以下文本存储在一个数字中:

Lorem ipsum dolor sit amet,是一位杰出的献身者。多奈克·埃格斯塔斯 努克·埃吉特·朗卡斯·布兰迪特

以二进制形式,这是:

01001100 01101111 01110010 01100101 01101101 00100000 01101001 01110000 01110011 01110101 01101101 00100000 01100100 01101111 01101100 01101111 01110010 00100000 01110011 01101001 01110100 00100000 01100001 01101101 01100101 01110100 0101100 00100000 01100011 01101111 01101110 01110011 01100101 01100011 01110100 01100101 01110100 01110101 01110010 00100000 01100001 01100100 01101001 01110000 01101001 01110011 01100011 01101001 01101110 01100111 00100000 01100101 01101100 01101001 01110100 0101110 00100000 01000100 01101111 01101110 01100101 01100011 00100000 01100101 01100111 01100101 01110011 01110100 01100001 01110011 00100000 01101110 01110101 01101110 01100011 00100000 01100101 01100111 01100101 01110100 00100000 01110010 01101000 01101111 01101110 01100011 01110101 01110011 00100000 01100010 01101100 01100001 01101110 01100100 01101001 01110100 0101110 
现在如果我把它转换成一个数字,我得到:
2.15146353486*10^16

将其转换回二进制是问题所在,我得到
00000010

现在很明显我不知道我在这里做什么,所以请理解这不是一个“为什么这没有工作?”的问题,我要问的是,我想做什么是可能的,如果是,怎么做

由于二进制可以转换为ASCII或BASE-64,反之亦然,因此转换为数字并返回也应该可以。毕竟,Base64基本上是一个基于64的数字系统,而十进制是一个基于10的系统,二进制是一个基于2的系统

任何建议都将不胜感激。

一切,只是计算机中的一切都是二进制的-0和1

所有这些:

  • 我爱你,我爱你
  • 2.15146353486*10^16
只是一些二进制数据块的人类可理解的表示

现在如果我把它转换成一个数字,我得到:
2.15146353486*10^16

通常意义上的数字表示十进制数,与文本无关。试图将文本表示为一个巨大的十进制数是没有意义的

将其转换回二进制是问题所在,我得到00000010

你的转换是错误的。十进制数字2表示为整字节(=8位)时,编码为
00000010
。因此,您省略了数字的“其余部分”,并且只转换了其最重要的数字

我想知道是否可以将二进制数据存储在一个数字中,以及如何将尽可能多的二进制数据存储在一个数字中


二进制数据不是以(十进制)数字存储的。数字只是二进制数据块的表示(在整数的情况下,通常是1、2、4或8字节)。因此,如果你重新表述你的问题,并更准确地问“二进制数据中可能存储的最大十进制数是多少”,答案将是:任何数字,不管多大,唯一的限制是可用内存。

@OndrejTucny,我觉得这不能回答问题,也不能证明投票结果接近。我知道二进制是什么,我的问题更具体。你的问题表明,不幸的是,你根本不知道它是如何工作的……还有,顺便说一句。注释不是答案。根据你选择的语言,你会有不同的变量类型,有自己的上限。超过这些,您将丢失数据,或使程序崩溃。然后,数据自然会丢失,并且不能通过反向操作返回。做得很好。这不是我的问题,我理解OP为什么不能让它做他们想做的事,但我无法用有意义的语言表达出来。