关于数据库字段长度字节(byte)和(bit)的几个概念问题!

原创 2015年07月09日 10:30:47

    应用据库也很久了,只是几个概念问题一直在纠结!

   1 、字节(byte)
   2、位(bit)
   3、存储单位
   4、字节和二进制的关系,即byte和bit的转化关系。
   看来看去,其实就是一个概念里面的两个不同单位,标准单位值之间的转化,首先要理解的就是不论是bit还是byte,都是存储单位,用来计量存储容量的单位。 那么再来看二进制和bit的关系,二进制系统中,每个0或者1就是一个位即bit。而在计算机系统中数据存储的时候用byte,存储数据时最小单位就是byte,跟bit没关系。数据传送的时候大部分又用bit,而一个字节(byte)=8个位(bit)。
   之所以很纠结就是主要关于,一个汉字、一个英语字母、一个汉字符号、一个英语符号分别站多少位,一个汉字占2个字节,一个英语字母占1个字节不分大小写。
  

int 存储数值的范围是:-2的32次方--2的32次发减1,(也就是-247483648至147483647之间的所有正负整数),所以说int是不需要指定长度为多少的。

    解释下char和nchar的异同
首先char众所周知最大取值是8000,每一个字节就是一个存储单位,英文和数值只占一个存储单位,所以char(10)可以最多容纳10个英文或者数字,但中文不一样,在某些系统下有每个中文会占4个存储单位,所以char(10)有可能容纳2个或者4个中文。

 而nchar的最大取值范围是4000刚好是char的一半,为什么是4000呢?因为nchar采用了一种标准,这种标准的名字我就忘记了,它规定每个存储单位是2个字节而并非char的每存储单位1字节。所以nchar(10)最大可以容纳10个数字或者英文字母或者标点符号,而中文就最大可以容纳10个或者5个,视系统情况而定。

  
 


相关文章推荐

字节、字、bit、byte的关系

字 word 字节 byte 位 bit 字长是指字的长度 1字=2字节(1 word = 2 byte) 1字节=8位(1 byte = bit)   一个字的字长为16 ...

Mysql各种类型字段长度

列类型                                  需要的存储量  TINYINT                               1 字节SMALLINT     ...

Mysql数据库中的字段长度是指字节还是字符

刚遇到这个问题纠结于是指字节还是字符,然后中文又占几个字节...... 后来在网上查到了用事实说话的例子: 来源:https://segmentfault.com/q/10100000030400...

mysql中int、bigint、smallint 和 tinyint的区别与长度的含义

最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint。其中比较迷惑的是int和smallint的差别。今天就在网上仔细找了找,找到如下内容,...

mysql 中的bit数据类型

http://blog.itpub.net/22664653/viewspace-743642/

数据库中byte[]的用法

byte[]为字节数组,在编程过程中将其转换为结构体,

关于数据库中的字段长度

首先是字节和字符的问题 有些问题看似简单,但如果长时间不用的话就会模糊甚至忘记(可能是基础不太扎实,高手勿喷): 今天上网查找写资料回顾下: 信息一:1个字节等于8个bit位,每个bit位又...

解决JAVA字符串长度与数据库字符串长度不一致问题

我先说下场景,数据库定义的长度是VARCHAR2(100),文件数据有一个字段有40个字符,UTF-8编码的非英文字符,如果在插入数据库的时候如果使用String的length()方法去获取长度大小肯...

utf-8的中文是一个汉字占三个字节长度吗?

这是个好问题,可以当作一个笔试题。先从字符编码讲起。 1、美国人首先对其英文字符进行了编码,也就是最早的ascii码,用一个字节的低7位来表示英文的128个字符,高1位统一为0; 2、后来欧洲人发现尼...

ORACLE 中 VARCHAR2 类型的字段长度是按照 byte 来定义的 一个容易被忽略的问题

很多新手在建数据库或添加表、字段时,会这样忽略一个问题:ORACLE 中 VARCHAR2类型的字段长度是按照 byte 来定义的。如果数据库使用的字符集是 GBK,GB2312 或者其他定长字符集的...
  • qiuhan
  • qiuhan
  • 2015年01月06日 11:15
  • 1932
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于数据库字段长度字节(byte)和(bit)的几个概念问题!
举报原因:
原因补充:

(最多只允许输入30个字)