预估方式:一个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. Node.js其他模块

    清明假期过得挺快,3天说没就没了,天热了今天把房间打扫了一下,看着挺舒心的.周六了解了下进程管理的Process模块,由于进程管理知识也比较多,今天先把其他的一些模块了解一下,进程管理这块以后慢慢学. ...

  2. Ionic APP 热更新 之 产品发布状态下的热更新搭建,去local-dev-addon插件

    上一篇,我们介绍了在本地开发环境下的ionic项目热更新测试, 本文,我们将详细说明如何在去掉cordova-hot-code-push-local-dev-addon插件的情况下,实现热更新. 使用 ...

  3. Winform 常用的方法

    一,Winform 如何内嵌窗体 1,判断窗体中是否以还有内嵌窗体 private void ClosePreForm() { foreach (Control item in this.spCont ...

  4. [日常] MySQL的预处理技术测试

    MySQL预处理技术:1.减轻服务器压力2.防止sql注入,把传递过去的危险字符也只当做参数处理3.将sql语句强制一分为二:第一部分为前面相同的命令和结构部分,第二部分为后面可变的数据部分基本使用 ...

  5. 骆驼拼写法(CamelCase)

    在英语中,依靠单词的大小写拼写复合词的做法,叫做"骆驼拼写法"(CamelCase).比如,backColor这个复合词,color的第一个字母采用大写. 这种拼写法在正规的英语中 ...

  6. 使用dom4j处理xml操作xml数据

    使用dom4j处理xml操作xml数据 示例代码: public class TestDom4j { public static void main(String[] args) { String x ...

  7. vue的v-html插值样式问题

    content使用html插入文本和图片 使用scoped样式,渲染失败. 原因: 解决方案: 采用全局样式 或另外再加style标签单独渲染

  8. VMware安装vnwaretools

    1. 在VMware Fusion 6.0.4下安装Ubuntu镜像:ubuntu-14.04.1-desktop-amd64.iso 2. 点击虚拟机菜单栏-安装VMware Tools 3. 进入 ...

  9. 安装php扩展redis (windows环境)

    首先十分感谢网络上支持开源分享的前辈们,资源真的太丰富了,虽然也有许多优秀的国外资源被墙了... 想要给php增加redis扩展第一步当然要知道自己使用的php版本以及一些配置.查看 phpinfo ...

  10. CentOS 6.x 安装vnc

    https://www.cnblogs.com/pipci/p/7833581.html   1.安装vnc server [root@pxe ~]# yum install tigervnc-ser ...