位,字节,字符与编码表

发布时间:2023年12月17日

位,字节,字符的关系

1. 位

数据存储的最小单位,每个二进制数字0或者1就是1个位

2.字节

8个位构成一个字节;既 1byte(字节) = 8 bit(位)

1KB?= 1024B(字节)

1MB = 1024KB(2^10B)

1GB = 1024MB (2^20B)

1TB = 1024GB (2^30B)?

3. 字符

a ,A ,中 , + , * $ 均表示一个字符

不同的编码表,字符所占用的字节不同。

    public static void main(String[] args) {

        char a = 'A';

        // 将字符转换为字节,注意可能的数据截断
        byte sing = (byte) a;

       /*
       (sing & 0xFF) 的目的是确保字节转换为正整数
       Integer.toBinaryString() 将整数转换为二进制字符串。
        */
        String binaryString = Integer.toBinaryString(sing & 0xFF);

        // 输出结果
        System.out.println("字节 " + sing);
        System.out.println("二进制字符串" + binaryString);
    }

编码表

1. 字符型存储到计算机中,需要将字符对应的码值(找出来),

比如'a',存储:'a' == 码值 97 ==> 二进制 ==> 存储。

? ? ? ? ? ? ? 读取:二进制==>97 ===> 'a'? 显示

2. 字符和码值的对应关系是通过字符编码表决定的(规定好的)?

3. 字符编码表

ASCII(ASCII编码表一个字节表示,一共128个字符)

Unicode(Unicode编码表,固定大小的编码,使用两个字节来表示字符,字母和汉字统一都是占用两个字节,这样浪费空间)

Utf-8(大小可变的编码 ,字母使用1个字节,汉字使用3个字节)

gbk(可以表示汉字,而且范围广=>ANSI, 字母使用1个字节,汉字2个字节)

gb2312(可以表示汉字,gb2312 < gbk)

big5码(繁体中文,台湾,香港)

java变量范围

整数类型

  • byte: 8位,范围为 -128 到 127。
  • short: 16位,范围为 -32768 到 32767。
  • int: 32位,范围为 -2147483648 到 2147483647。
  • long: 64位,范围为 -9223372036854775808 到 9223372036854775807。
byte byteVar = 127;
short shortVar = 32767;
int intVar = 2147483647;
long longVar = 9223372036854775807L;

浮点类型

  • float: 32位,单精度,范围为约 ±3.40282347E+38F。
  • double: 64位,双精度,范围为约 ±1.79769313486231570E+308。
float floatVar = 3.14f;
double doubleVar = 3.141592653589793;

字符类型

  • char: 16位,表示Unicode字符,范围为 0 到 65535。
char charVar = 'A';

布尔类型

  • boolean: 表示 truefalse
  • boolean boolVar = true;
    

文章来源:https://blog.csdn.net/weixin_67573348/article/details/135008521
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。