Bytes是啥概念?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bytes是啥概念?相关的知识,希望对你有一定的参考价值。

Bytes是字节的意思。1个汉字=2Bytes,1 KB = 1024 bytes ,1 MB = 1024 KB ,1 GB = 1024 MB 参考技术A 字节是由8个位所组成,可代表一个字符(A~Z)、数字(0~9)、或符号(,.?!%&+-*/),是内存储存数据的基本单位。

1 byte = 8 bit

1 KB = 1024 bytes =210 bytes

1 MB = 1024 KB = 220 bytes

1 GB = 1024 MB = 230 bytes

语句“out |= (in & 0x7F) << (bytes++ * 7);”是啥意思?在java中是啥意思?

【中文标题】语句“out |= (in & 0x7F) << (bytes++ * 7);”是啥意思?在java中是啥意思?【英文标题】:What does the statement "out |= ( in & 0x7F ) << ( bytes++ * 7 );" mean in java?语句“out |= (in & 0x7F) << (bytes++ * 7);”是什么意思?在java中是什么意思? 【发布时间】:2014-04-07 23:33:08 【问题描述】:

当我看到他们的 VarInt 读取代码以读取数据包长度时,我正在查看 Minecraft 的内部数据包处理。作为一个没有任何Java课程的Java开发人员,当我看到out |= ( in &amp; 0x7F ) &lt;&lt; ( bytes++ * 7 );的声明时,我感到很困惑。有人可以向我解释一下吗?提前致谢!

如果您想要完整的代码,只需检查 BungeeCord 的 Github https://github.com/SpigotMC/BungeeCord/blob/master/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java#L70 上的 readVarInt 函数即可。

【问题讨论】:

这意味着有人正在编写神秘代码。 你认为这意味着什么?你有调查过吗? 是的,阅读起来并不难,如果你一块一块地看的话。 (但是对于新手来说可能并不明显,即使在逐段解释之后,它只是简单地获取一系列字节并将每个字节的低 7 位连接在一起(假设in 是从数组或每次迭代中重新加载的)。) 哦,* 是乘法运算符。 【参考方案1】:

我没有查看您包含的链接,但我希望在循环中调用此行,以将存储为 7 位值集合的数字转换回 int 或 long。

您给出的行可以扩展为:

int value = in & 0x7F;            // Grab 7 bits of data from "in"
int shift = bytes * 7;            // Calculate shift amount based on byte index
bytes = bytes+1;                  // Increment byte index (from bytes++)
out = out | (value << shift);     // Shift value and OR into output integer/long

【讨论】:

以上是关于Bytes是啥概念?的主要内容,如果未能解决你的问题,请参考以下文章

12.LInux磁盘,系统文件概念《Mr.Robot》

磁盘分区需要知道的概念

tcp/ip的一些概念

Laravel 中服务容器的概念是啥?

YouTrack 中的泳道概念是啥?

暗黑2里DR和MDR是啥概念