预估方式:一个uid,String类型,最长约50字节,即50Byte,一天100亿PV,则100亿*50Byte,约500G容量存ES中或Hbase中,无法存日志文件中,一个docker磁盘才50G

字节  byte

位     bit

bit : 电脑记忆体中最小的单位,在二进位电脑系统中,每一bit 可以代表0 或 1 的数位讯号。

Byte : 一个Byte由8 bits所组成,可代表一个字元(A~Z)、数字(0~9)、或符号(,.?!%&+-*/),是记忆体储存资料的基本单位,至於每个中文字则须要两Bytes。当记忆体容量过大时,位元组这个单位就不够用,因此就有千位元组的单位KB出现。

1 Byte = 8 Bits

1 KB = 1024 Bytes

1 MB = 1024 KB

1 GB = 1024 MB

bps : bits per second的简称。一般数据机及网络通讯的传输速率都是以「bps」为单位。如56Kbps、100.0Mbps 等等。

Bps:Byte per second的简称。而电脑一般都以Bps 显示速度,如1Mbps 大约等同 128 KBps。

mbps=mega bits per second(兆位/秒)是速率单位,所以正确的说法应该是说usb2.0的传输速度是480兆位/秒,即480mbps。

mb=mega bytes(兆比、兆字节)是量单位,1mb/s(兆字节/秒)=8mbps(兆位/秒)。

usb2.0标准接口传输速率。许多人都将“480mbps”误解为480兆/秒。其实,这是错误的,事实上“480mbps”应为“480兆比特/秒”或“480兆位/秒”,它等于“60兆字节/秒”。此外usb2.0 480mbps=60mb/s的传输速率还只是理论值,它还要受到系统环境的制约(cpu、硬盘和内存等),其实际读、取写入硬盘的速度约在11~16mb/s。但这也比usb1.1的12mbps(1.5m/s)快了近10倍。

我们所说的硬盘容量是40gb、80gb、100gb,这里的b指是的byte也就是“字节”。

1 kb = 1024 bytes =2^10 bytes

1 mb = 1024 kb = 2^20 bytes

1 gb = 1024 mb = 2^30 bytes

比如以前所谓的56kb的modem换算过来56kbps除以8也就是7kbyte,所以真正从网上下载文件存在硬盘上的速度也就是每秒7kbyte。

传输速度有关的b一般指的是bit

容量有关的b一般指的是byte

在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下Java中几种基本数据类型,以加深记忆。

在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。

1.整型

类型              存储需求     bit数    取值范围

int                  4字节         4*8

short              2字节         2*8     -32768~32767

long               8字节         8*8

byte               1字节         1*8     -128~127

2.浮点型

类型              存储需求     bit数    取值范围

float               4字节        4*8                

double           8字节        8*8    

3.char类型

类型              存储需求     bit数    取值范围

char               2字节         2*8

4.boolean类型

类型              存储需求    bit数    取值范围

boolean        1字节         1*8     false、true

Java中String类型字节不固定,String越长字节越多。

一个汉字占几个字节(详解与原理):

不同的编码格式占字节数是不同的,UTF-8编码下一个中文所占字节也是不确定的,可能是2个、3个、4个字节;

附:一般认为一个汉字=2个英文字母=2字节

GBK编码,一个汉字占两个字节。

UTF-16编码,通常汉字占两个字节,CJKV扩展B区、扩展C区、扩展D区中的汉字占四个字节(一般字符的Unicode范围是U+0000至U+FFFF,而这些扩展部分的范围大于U+20000,因而要用两个UTF-16)。

UTF-8编码是变长编码,通常汉字占三个字节,扩展B区以后的汉字占四个字节。

@Test

public void test1() throws UnsupportedEncodingException {

String a = "名";

System.out.println("UTF-8编码长度:"+a.getBytes("UTF-8").length);

System.out.println("GBK编码长度:"+a.getBytes("GBK").length);

System.out.println("GB2312编码长度:"+a.getBytes("GB2312").length);

System.out.println("==========================================");

String c = "0x20001";

System.out.println("UTF-8编码长度:"+c.getBytes("UTF-8").length);

System.out.println("GBK编码长度:"+c.getBytes("GBK").length);

System.out.println("GB2312编码长度:"+c.getBytes("GB2312").length);

System.out.println("==========================================");

char[] arr = Character.toChars(0x20001);

String s = new String(arr);

System.out.println("char array length:" + arr.length);

System.out.println("content:|  " + s + " |");

System.out.println("String length:" + s.length());

System.out.println("UTF-8编码长度:"+s.getBytes("UTF-8").length);

System.out.println("GBK编码长度:"+s.getBytes("GBK").length);

System.out.println("GB2312编码长度:"+s.getBytes("GB2312").length);

System.out.println("==========================================");

}

UTF-8编码长度:3

GBK编码长度:2

GB2312编码长度:2

==========================================

UTF-8编码长度:4

GBK编码长度:1

GB2312编码长度:1

==========================================

char array length:2

content:| 

字节(byte)与位(bit)基础回顾的更多相关文章

  1. 位(bit)、字节(Byte)、字(Word)、双字(Dword)之间的关系

    位(bit): bit(简写:b),是计算机数据存储最小的单位,二进制中,0或者1就是一个位(比特位)bit. 字节: Byte(简写:B),是计算机信息技术用于计量存储容量的一种计量单位,通常情况下 ...

  2. 计算机中位(bit), 字节(byte), 字(word)的关系

    1.位(bit) 来自英文bit,音译为“比特”,表示二进制位.位是计算机内部数据储存的最小单位,11010100是一个8位二进制数.一个二进制位只可以表示0和1两种状态(21):两个二进制位可以表示 ...

  3. 位bit——字节Byte???

    1.换算 每8个位(bit)组成一个字节(byte) 位bit简写为小写字母“b”,字节Byte简写为大写字母“B” 8*b=1*B 1024*B=1*KB 1024*K=1MB 2.举例 一个英文字 ...

  4. 一个字 word 是16位, 一个字由两个字节组成 , 字节=byte ,一个字节8位, 位=bit 如果没有特殊说明kb 就是指 k*bit

    一个字 word 是16位, 一个字由两个字节组成 , 字节=byte,,一个字节8位, 位=bit 如果没有特殊说明kb 就是指 k*bit kbyte= k*byte

  5. Java bit、byte、位、字节、汉字、字符

    package com.suypower.chengyu.test; public class ByteTest { /** * byte 8 bits -128 - + 127 * 1 bit = ...

  6. 【转】bit、byte、位、字节、汉字的关系

    UTF-8和UTF-16的区别?Unicode和UTF是什么关系?Unicode转义字符(\u+4个十六进制).遇到多个引号的时候转义? 解释: unicode是一种编码方式,和ascii是同一个概念 ...

  7. bit、byte、位、字节、汉字的关系

    字节(Byte):通常将可表示常用英文字符8位二进制称为一字节. 一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间. 符号:英文标点2占一个字节,中文标点占两个字节. 1字节( ...

  8. 位bit,字节byte,K,M,G(转)

      字节是由8个位所组成,可代表一个字符(A~Z).数字(0~9).或符号(,.?!%&+-*/),是内存储存数据的基本单位.1 byte = 8 bit 1 KB = 1024 bytes1 ...

  9. 位(bit)、字节(byte)、字

    1.位(bit)来自英文bit,音译为“比特”,表示二进制位.位是计算机内部数据储存的最小单位,11010100是一个8位二进制数.一个二进制位只可以表示0和1两种状态(21):两个二进制位可以表示0 ...

随机推荐

  1. Chrome 谷歌如何快速实现跨域

    第一步:在你的E盘或者其他盘新建一个文件夹,命名为:E:\MyChromeDevUserData 第二步:找到你的谷歌浏览器快捷图标,鼠标右键选择属性,出现以下界面: 第三步:在目标选项的最后添加:  ...

  2. static & abstract

    不能放在一起的修饰符:final和abstract,private和abstract,static和abstract,因为abstract修饰的方法是必须在其子类中 实现(覆盖),才能以多态方式调用, ...

  3. Node.js压缩与解压数据

    Node.js中提供了一个很好的库Zlib来压缩解压数据. 一.压缩缓冲区 Zlib中有下面几个函数方便解压缩缓冲区. gzip/gunzip:标准gzip压缩. deflate/inflate:基于 ...

  4. Python__组合数据类型

    组合数据:集合类型.序列类型(元组类型.列表类型).字典类型 集合: 定义:集合是多个元素的无序组合.(无序,唯一,Python中要求放入集合中的数据类型是不可变的). 集合用大括号 {}表示,元素间 ...

  5. [日常] json_encode对中文和引号的处理差异研究

    json_encode()1.默认就是把所有 ASCII 可显示字符以外的统统转义为 Unicode如果把那些字符转义为 Unicode 之后,无论文件编码是否一致,都不会出现乱码,因此中文转成Uni ...

  6. java计算机二级笔记

    java.applet.AppletAppletHTMLAppletextends Appletextends AppletprintinitcalendarCalendarCalendar 日历类J ...

  7. IDEA 的 properties 文件的属性字段如何链接到调用的文件

    想要达到的效果: ctrl + 鼠标点击:弹出如下所有使用的文件 问题: 有些 IDEA 使用 ctrl + 鼠标点击不能看到使用的文件. 解决办法: ctrl + 鼠标点击,然后选择设置按钮 然后 ...

  8. JavaScript standard 代码规范的全文

    这是 JavaScript standard 代码规范的全文. 掌握本规范的最好方法是安装并在自己的代码中使用它. 细则 使用两个空格进行缩进. eslint: indent function hel ...

  9. OpenGL学习--06--键盘与鼠标交互

    1.tutorial06.cpp // Include standard headers #include <stdio.h> #include <stdlib.h> // I ...

  10. java获取当月天数,指定年月的天数,指定日期获取对应星期 .

    package huolongluo.family.util; import java.text.SimpleDateFormat; import java.util.Calendar; import ...