【推荐】1.Byte和bit讲解-1比特多少位
Byte和bit
Byte : 字节. 数据存储的基本单位,比如移动硬盘1T , 单位是byte
bit : 比特, 又叫位. 一个位要么是0要么是1. 数据传输的单位 , 比如家里的宽带100MB,下载速度并没有达到100MB,一般都是12-13MB,那么是因为需要使用 100 / 8
关系: 1Byte = 8bit
1.1.1 获取字符串byte
package com.xxx.bytebit;
/**
* ByteBit
*
* @CreateTime: 2020-03-17
* @Description:
*/
public class ByteBit {
public static void main(String[] args) {
String a = "a";
byte[] bytes = a.getBytes();
for (byte b : bytes) {
int c=b;
// 打印发现byte实际上就是ascii码
System.out.println(c);
}
}
}
运行程序
1.1.2 byte对应bit
package com.xxx.bytebit;
/**
* ByteBit
* @Description:
*/
public class ByteBit {
public static void main(String[] args) {
String a = "a";
byte[] bytes = a.getBytes();
for (byte b : bytes) {
int c=b;
// 打印发现byte实际上就是ascii码
System.out.println(c);
// 我们在来看看每个byte对应的bit,byte获取对应的bit
String s = Integer.toBinaryString(c);
System.out.println(s);
}
}
}
运行程序
打印出来应该是8个bit,但前面是0,没有打印 ,从打印结果可以看出来,一个英文字符 ,占一个字节
1.1.3 中文对应的字节
// 中文在GBK编码下, 占据2个字节
// 中文在UTF-8编码下, 占据3个字节
package com.xxx;
/**
* ByteBitDemo
* @Description:
*/
public class ByteBitDemo {
public static void main(String[] args) throws Exception{
String a = "尚";
byte[] bytes = a.getBytes();
for (byte b : bytes) {
System.out.print(b + " ");
String s = Integer.toBinaryString(b);
System.out.println(s);
}
}
}
运行程序:我们发现一个中文是有 3 个字节组成
我们修改 编码格式 , 编码格式改成 GBK ,我们在运行发现变成了 2 个字节
public static void main(String[] args) throws Exception{
String a = "尚";
// 在中文情况下,不同的编码格式,对应不同的字节
//GBK :编码格式占2个字节
// UTF-8:编码格式占3个字节
byte[] bytes = a.getBytes("GBK");
// byte[] bytes = a.getBytes("UTF-8");
for (byte b : bytes) {
System.out.print(b + " ");
String s = Integer.toBinaryString(b);
System.out.println(s);
}
}
运行程序
1.1.4 英文对应的字节
我们在看看英文,在不同的编码格式占用多少字节
package com.xxx.bytebit;
/**
* ByteBit
* @Description:
*/
public class ByteBit {
public static void main(String[] args) throws Exception{
String a = "A";
byte[] bytes = a.getBytes();
// 在中文情况下,不同的编码格式,对应不同的字节
// byte[] bytes = a.getBytes("GBK");
for (byte b : bytes) {
System.out.print(b + " ");
String s = Integer.toBinaryString(b);
System.out.println(s);
}
}
}
运行程序
相关内容
相关资讯
-
000031原来是什么股票000034原来是什么股票很多朋友对于000031原来是什么股票和000034原来是什么股票不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!本文目录中
-
1000000台币对人民币汇率10000000台币对人民币汇率大家好,感谢邀请,今天来为大家分享一下1000000台币对人民币汇率的问题,以及和10000000台币对人民币汇率的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解
-
+38.12%!6月期市成交量同比大增!上半年数据出炉,来看亮点-成交量5日线多少万手是什么意思今年上半年期市成交数据新鲜出炉!中期协6月30日晚间公布的数据显示,以单边计算,6月全国期货市场(含期权市场)成交量约7.90亿手,成交额约46.70万亿元,同比分别增长38.1
-
2019年股票季报业绩2019年股票季报业绩查询大家好,今天小编来为大家解答以下的问题,关于2019年股票季报业绩,2019年股票季报业绩查询这个很多人还不知道,现在让我们一起来看看吧!本文目录中
-
10月30美元兑人民币汇率10月30日美元兑人民币汇率本篇文章给大家谈谈10月30美元兑人民币汇率,以及10月30日美元兑人民币汇率对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收
-
t3中如何直接记账t3如何进行记账各位老铁们好,相信很多人对t3中如何直接记账都不是特别的了解,因此呢,今天就来为大家分享下关于t3中如何直接记账以及t3如何进行记账的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
-
中信银行信用卡密码修改中信银行信用卡密码修改流程很多朋友对于中信银行信用卡密码修改和中信银行信用卡密码修改流程不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!本文目录用手机
-
1000什么币等于10人民币1000等于人民币多少
大家好,关于1000什么币等于10人民币很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于1000等于人民币多少的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注