精华内容
下载资源
问答
  • 二进制数据类型

    2014-04-16 16:57:16
    二进制数据包括 Binary、Varbinary 和 Image   Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。   Binary[(n)] 是 n 位固定的二进制数据。其中,n 的取值范围是从 1 到 8000。其...
    二进制数据包括 BinaryVarbinary  Image 
      Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。 
      Binary[(n)]  n 位固定的二进制数据。其中,的取值范围是从 1  8000。其存储窨的大小是 n + 4 个字节。 
      Varbinary[(n)]  n 位变长度的二进制数据。其中,的取值范围是从 1  8000。其存储窨的大小是 n + 4个字节,不是个字节。 
      在 Image 数据类型中存储的数据是以位字符串存储的,不是由 SQL Server 解释的,必须由应用程序来解释。例如,应用程序可以使用BMPTIEFGIF  JPEG 格式把数据存储在 Image 数据类型中。  
    (2)
    字符数据类型  
      字符数据的类型包括 CharVarchar  Text 
      字符数据是由任何字母、符号和数字任意组合而成的数据。 
      Varchar 是变长字符数据,其长度不超过 8KBChar 是定长字符数据,其长度最多为 8KB。超过 8KB ASCII 数据可以使用Text数据类型存储。例如,因为 Html 文档全部都是 ASCII 字符,并且在一般情况下长度超过 8KB,所以这些文档可以 Text 数据类型存储在SQL Server 中。  
    (3)Unicode 
    数据类型  
      Unicode 数据类型包括 Nchar,Nvarchar Ntext 
      在 Microsoft SQL Server 中,传统的非 Unicode 数据类型允许使用由特定字符集定义的字符。在 SQL Server安装过程中,允许选择一种字符集。使用 Unicode 数据类型,列中可以存储任何由Unicode 标准定义的字符。在 Unicode 标准中,包括了以各种字符集定义的全部字符。使用Unicode数据类型,所战胜的窨是使用非 Unicode 数据类型所占用的窨大小的两倍。  
      在 SQL Server 中,Unicode 数据以 NcharNvarchar  Ntext 数据类型存储。使用这种字符类型存储的列可以存储多个字符集中的字符。当列的长度变化时,应该使用Nvarchar 字符类型,这时最多可以存储 4000 个字符。当列的长度固定不变时,应该使用 Nchar 字符类型,同样,这时最多可以存储4000 个字符。当使用 Ntext 数据类型时,该列可以存储多于 4000 个字符。  
    展开全文
  • 3.2.5 二进制数据类型MySQL支持的二进制数据类型主要有:BIT(M)、BINARY(M)、VARBINARY(M)、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB等7种,它们主要用来存储由“0”、“1”组成的字符串,跟字符串类型数据一样,...

    3.2.5 二进制数据类型

    MySQL支持的二进制数据类型主要有:BIT(M)、BINARY(M)、VARBINARY(M)、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB等7种,它们主要用来存储由“0”、“1”组成的字符串,跟字符串类型数据一样,不同的二进制数据类型允许的最多字符个数不一样、占用存储空间也不一样,详见下表:

    5b9ed92df9c2

    字符串类型取值范围占用字节数说明

    BIT(n)0-64最多8字节n为二进制位

    BINARY(M)0-255MM为最多允许的字节数,取值范围为0-255之间的整数

    VARBINARY(M)0-65535(216-1)L+1M为最多允许的字节数;

    L为实际保存数据中字节的个数;

    TINYBLOB0-255

    MEDIUMBLOB16777215(224-1)

    LONGBLOB4294967295(232-1)

    说明:

    1、上面几种二进制数据类型中,BIT(n)类型以二进制位为存储单位,其余均以二进制字节为存储单位,这跟前面的字符串类型数据以字符为单位是有明显不同的。

    2、BINARY(M)跟CHAR(M)类似,为定长类型,VARBINARY(M)与VARCHAR(M)、BLOB与TEXT、、TINYBLOB与TINYTEXT、MEDIUMBLOB与MEDIUMTEXT、LONGBLOB与LONGTEXT也对应类似,为变长类型。定长类型二进制数据和变长类型二进制数据的区别主要也有以下两点:

    1). 定长类型二进制数据不管其中字节数有没有达到它允许的M个字节都要占用M个字节的空间;变长类型二进制数据,其所需存储空间主要取决于该串中实际包含的字节数(此字节数在上表中用L来表示),再附加一个额外的结束字节。

    2). 定长类型二进制数据中保存字节超过其允许的M个时会对所保存的数据进行截短处理,而不足M个时会用“\0”进行补足;变长类型二进制数据保存字节超过其允许的M个时同样会对所保存的字符串进行截短处理,而不足M个时则不会用“\0”进行补足。

    2、从上表中我们也可看出:BINARY(M)允许的字节数少于VARBINARY(M)允许的字节数,TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB允许的字节数也是逐渐增多的,并且BINARY(M)和TINYBLOB允许的字节数、VARBINARY(M)和BLOB允许的字节数对应相等。

    二进制数据类型可用来表示长的字符串(二进制形式表示)、图片、音频、视频等,跟字符串类型一样,在必须使用时,二进制数据也应在满足使用要求(允许的最多字节数)的前提下尽量使用“短”的数据类型,以减少存储空间的占用、提高查询运算的效率。在实际中,更多的对二进制数据的使用是将图片、音频、视频等存入文件中,而不是将其存入数据表中,毕竟处理二进制数据不是数据库系统的强项。

    展开全文
  • 上面列举的字符串和二进制类型中,不同数据类型具有不同的特点,接下来,针对这些数据类型一一介绍。CHAR和VARCHAR类型CHAR和VARCHAR类型都用来表示字符串数据,不同的是,VARCHAR可以存储可变长度的字符串在MySQL中,...

    为了存储字符串、图片和声音等数据,MySQL提供了字符串和二进制类型。下面列举了MYSQL中的字符串和二进制类型。

    ed92e9433e37325ee23da7a513191257.png

    上面列举的字符串和二进制类型中,不同数据类型具有不同的特点,接下来,针对这些数据类型一一介绍。

    CHAR和VARCHAR类型

    CHAR和VARCHAR类型都用来表示字符串数据,不同的是,VARCHAR可以存储可变长度的字符串在MySQL中,定义CHAR和VARCHAR类型的方式如下所示:

    CHAR(M) 或者 VARCHAR(M)

    上面的的定义方式中,M指的是字符串的最大长度。为了帮助读者更好地理解CHAR和VARCHAR之间的区别,下面以CHAR(4)和VARCHAR(4)为例进行说明,具体如下。

    427fc66692c864115b881b2dcba74463.png

    从上面图中可以看出,当数据为CHAR(4)类型时,不管插入值的长度是多少,所占用的存储空间都是4个字节。而VARCHAR(4)所对应的数据所占用的字节数为实际长度加1。

    BINARY和 VARBINARY类型

    BINARY和 VARBINARY类型类似于CHAR和VARCHAR,不同的是,它们所表示的是二进制数据。定义 INARY和

    VARBINARY类型的方式如下所

    BINARY(M) EX VARBINARY (M)

    在上述格式中,M指的是二进制数据的最大字节长度。

    需要注意的是,BINARY类型的长度是固定的,如果数据的长度不足最大长度,将在数据的后面用“\0”补齐,最终达到指定长度。例如,指定数据类型为BINARY(3),当插入a时,实际存储的数据为“a0\0”,当插入ab时,实际存储的数据为“ab\0”。

    TEXT类型

    TEXT类型用于表示大文本数据,例如,文章内容、评论等,它的类型分为4种,具体如下所示。

    BL0B类型

    BLOB类型是一种特殊的二进制类型,它用于表示数据量很大的二进制数据,例如图片、PDF文档等。BLOB类型分为四种,具体如下所示。

    需要注意的是,BL0B类型与TX类型很相似,但BL0B类型数据是根据二进制编码进行比较和排序,而仼XT类型数据是根据文本模式进行比较和排序。

    ENM类型

    ENUM类型又称为枚举类型,定义ENM类型的数据格式如下所示:

    ENUM(‘值1', ’值2’, ’值33’ ,…, ’值n’)

    在上述格式中,(‘值1', ’值2’, ’值33’ ,…,

    ’值n’)称为枚举列表,ENM类型的数据只能从枚举列表中取,并且只能取一个。需要注意的是,枚举列表中的每个值都有一个顺序编号,MySQL中存入的就是这个顺序编号,而不是列表中的值。

    SET类型

    SET类型用于表示字符串对象,它的值可以零个或多个,SET类型数据的定义格式与ENUM类型类似,具体语法格式如下所示:

    SET(‘值1’,’值2’,’值3’,...,’值n’)

    与ENUM类型相同,(‘值1’,’值2’,’值3’,...,’值n’)列表中的每个值都有一个顺序编号,MySQL中存入的也是这个顺序编号,而不是列表中的值。

    BIT类型

    BIT类型用于表示二进制数据。定义BIT类型的基本语法格式如下所示:

    BIT(M)

    在上述格式中,M用于表示每个值的位数,范围为1~64。需要注意的是,如果分配的BIT(M)类型的数据长度小于M,将在数据的左边用0补齐。例如,为BIT(6)分配值b‘101’的效果与分配b“000101’相同。

    猜你喜欢:

    MySQL安装教程

    展开全文
  • 二进制数据类型名字存储空间描述bytea4 字节加上实际的二进制字符串变长的二进制字符串二进制字符串是一个字节序列。二进制字符串和普通字符字符串的区别有两个:首先,二进制字符串完全可以存储字节零值以及其它...

    bytea 数据类型允许存储二进制字符串。参阅表8-6。

    表8-6. 二进制数据类型

    名字存储空间描述

    bytea4 字节加上实际的二进制字符串变长的二进制字符串

    二进制字符串是一个字节序列。二进制字符串和普通字符字符串的区别有两个:首先,二进制字符串完全可以存储字节零值以及其它"不可打印的"字节(定义在 32 到 126 范围之外的字节)。字符串不允许字节零值,并且也不允许那些不附合选定的字符集编码的非法字节值或者字节序列。第二,对二进制字符串的处理实际上就是处理字节,而对字符串的处理则取决于区域设置。简单说,二进制字符串适用于存储那些程序员认为是"原始字节"的数据,而字符串适合存储文本。

    在一个 SQL 语句的文本串里面输入 bytea 数值的时候,你必须逃逸某些字节值(但可以逃逸所有字节值)。通常,要逃逸一个字节值,需要把它的数值转换成对应的三位八进制数,并且前导两个反斜杠。有些八进制数值有可选的逃逸序列,在表8-7中显示,同时也给出了可选的逃逸序列。

    表8-7. bytea 文本逃逸八进制

    十进制数值描述输入逃逸形式例子输出形式

    0八进制的零E'\\000'SELECT E'\\000'::bytea;\000

    39单引号'''' 或 E'\\047'SELECT E'\''::bytea;'

    92反斜杠E'\\\\' 或 E'\\134'SELECT E'\\\\'::bytea;\\

    0 到 31 以及 127 到 255"不可打印"字节E'\\xxx'(八进制值)SELECT E'\\001'::bytea;\001

    逃逸"不可打印"字节的要求因区域设置而异。在某些场合下,你可以不逃逸它们。请注意表8-7里的每个例子都是刚好一个字节长,虽然字节零和反斜杠输出形式比一个字符要长。

    你必须写这么多反斜杠的原因,如表8-7所示,是因为一个写成字符串文本的输入字符串必须通过 PostgreSQL 服务器里的两个分析阶段。每一对反斜杠中的第一个会被字符串文本分析器理解成一个逃逸字符而消耗掉,于是剩下的第二个反斜杠被 bytea 输入函数当作一个三位八进制值或者是逃逸另外一个反斜杠的开始。比如,一个传递给服务器的字符串文本 E'\\001' 在通过字符串分析器之后会当作 \001 发送给 bytea 输入函数,在这里它被转换成一个十进制值为 1 的单个字节。请注意,单引号字符(')不会被 bytea 特殊对待,它遵循字符串文本的普通规则。又见节4.1.2.1。

    bytea 字节也在输出中逃逸。通常,每个"不可打印"的字节值都转化成对应的前导反斜杠的三位八进制数值。大多数"可打印的"字节值是以客户端字符集的标准表现形式出现的。十进制值为 92(反斜杠)的字节有一个特殊的可选输出形式。细节在表8-8里描述。

    表8-8. bytea 输出逃逸序列

    字节的十进制值描述逃逸的输出形式例子输出结果

    92反斜杠\\SELECT E'\\134'::bytea;\\

    0 到 31 以及 127 到 255"不可打印"八进制字符\xxx(八进制值)SELECT E'\\001'::bytea;\001

    32 到 126"可打印"八进制字符客户端字符集表现形式SELECT E'\\176'::bytea;~

    根据你使用的前端不同,在是否逃逸 bytea 字符串的问题上你可能有一些额外的工作要做。比如,如果你的接口自动转换换行和回车,那你可能还要逃逸它们。

    SQL 标准定义了一种不同的二进制字符串类型,叫做 BLOB 或 BINARY LARGE OBJECT 。其输入格式和 bytea 不同,但是提供的函数和操作符大多一样。

    展开全文
  • str='1011101' print(bin(eval('0b'+str)))
  • 其基本形式如下:字符串类型(M),其中,‘字符串类型’参数指定了数据类型为binary类型还是varbinary类型,M参数指定了该二进制数的最大字节长度为M。这与char类型和varchar类型相似。举个例子,binary(10)就是指...
  • 概述通过前三篇博客,我们能够了解在通过...本文作为WebSocket系列的第四篇内容,将会用一个简单的IM聊天应用把整个WebSocket传输二进制数据类型的内容连接起来,让用户对整个WebSocket传输二进制数据的方法有...
  • /* 很重要的,非常好用。    int n1 = 14;  //十进制转成十六进制:  Integer.toHexString(n1);  //十进制转成八进制 ... //十进制转成二进制  Integer.toBinaryString(12);    //十六进
  • 二进制类型是在数据库中存储二进制数据数据类型。二进制类型包括binary,varbinary,bit,tinyblob,blob,mediumblob,longblob。这篇博客这里整理一下二进制类型的特点和差异。 binary类型和varbinary类型binary...
  • 概述通过前三篇博客,我们能够了解在通过...本文作为WebSocket系列的第四篇内容,将会用一个简单的IM聊天应用把整个WebSocket传输二进制数据类型的内容连接起来,让用户对整个WebSocket传输二进制数据的方法有...
  • 二进制判断数据类型

    2018-04-27 17:44:16
    二进制文件上传分类,需要的下载, 通常对用户上传的图片需要保存到数据库中。...另一种是将图片以二进制数据流的形式直接写入数据库字段中。以下为具体方法:  一、保存图片的上传路径到数据库:
  • Numpy读写二进制数据Numpy.fromfile()numpy.fromfile(file, dtype=float, count=-1, sep='')可以高效读取已知数据类型的二进制文件。file表示文件名,dtype表示数据类型(包括大小和字节顺序),count表示读入数据长度...
  • MySQL二进制类型二进制类型是在数据库中存储二进制数据数据类型。二进制类型包括BINARY、VARBINARY、BIT、TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB等。MySQL的二进制类型如下表所示:整数类型取值范围BINARY(M)字节...
  • 1. MySQL支持的二进制数据类型:tinyblob, blob, mediumblob和longblob。 2. JDBC中我们用PrepareStatement的SetBlob和GetBlob获取和设置二进制数据。 3. 创建BlobDaoImpl.java来对二进制数据进行存储和获取
  • MySQL 支持两类字符型数据:...下表中列出了 MySQL 中的二进制数据类型,括号中的M表示可以为其指定长度。 类型名称 说明 存储需求 BIT(M) 位字段类型 大约 (M+7)/8 字节 BINARY(M) 固定长度二进制字符串 M
  • 二进制数据转 基本数据类型

    千次阅读 2016-02-16 10:07:22
     如果二进制数据是有连续存放的话,那么可以使用 ByteBuffer 进行转化。 代码段如下  如果有String的话,还有另外处理 byte b[] = new byte[16]; int t = input.read(b); ByteBuffer dataBuffer = ByteBuffer....
  • 概述 通过前三篇博客,我们能够了解在通过WebSocket...本文作为WebSocket系列的第四篇内容,将会用一个简单的IM聊天应用把整个WebSocket传输二进制数据类型的内容连接起来,让用户对整个WebSocket传输二进制数据的方...
  • MySQL支持两类字符型数据:文本字符串和二进制字符串。上一教程22中讲了文本字符串,这节来讲解二进制字符串。...下表中列出了 MySQL 中的二进制数据类型,括号中的M表示可以为其指定长度。类型名称说明存...
  • 进制和数据类型 内存划分最小单位:字节 1个字节=8个bit位 1个字母1个字节,1个汉字2个字节 进制 进制的划分 二进制(权重2)、八进制(权重8)、十进制(权重10)、十六进制(权重16) 注意:除了这些还有三进制、...
  • 在类型化数组出现之前,我们是无法直接通过 JavaScript 操作二进制数据,通常都是操作 JavaScript 中的数据类型,由运行时转化成二进制。这就多了一个转化的过程,尽管 JavaScript 对数据类型做了很多优化以提高效率...
  • 2017/3/11 7.二进制数据服务 Python 3.6.1rc1文档 7.二进制数据服务 本章中描述的模块提供了用于操纵二进制数据的一些基本服务...例如re 或所有二进制数据 例如 difflib 一起工作 此外 请参阅二进制序列类型中的Pyth
  • 二进制数据: 二进制数据就是完全数字型二进制文件:"二进制文件"本来就是一种似是而非的叫法。我们知道,存在有种类繁多的不同类型(格式)的文件,如文本文件,视频文件,图像文件,数据库文件...., 文件格式的具体定义...
  • 十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。...二进制、十六进制理解及int类型二进制存储方式二进制00000000000000000000000000000001//2^...
  • MySQL数据类型--二进制类型

    千次阅读 2017-04-14 16:54:48
    https://rc.mbd.baidu.com/lwsn8zb 二进制类型是在数据库中存储二进制数据数据类型。二进制类型包括BINARY、VARBINARY、BIT、TINYBLOB、BLOG、MEDIUMBLOB和LONGBLOG。
  • 利用字符串(string)类型,可以存储二进制数据。即:将二进制数据以字符串的形式存储。下面分享一种字符串和二进制串互相转换的具体实现方法。二、代码"""二进制、字符串转换"""def str_2_bin(str):"""字符串转换为二...
  • 文本数据与二进制数据

    千次阅读 2017-04-25 15:36:23
    文本数据和二进制数据的区别的简单理解: ...1、字符数据与非字符数据 字符数据有自己的编码方式,而非字符数据没有统一的...文本数据的编码方式比较固定,UNICODE或者ASCII编码,二进制数据的编码方式比特为由类型决定
  • JS 操作二进制数据涉及到三个基本类型: ArrayBuffer 、 TypedArray 和 DataView 为了达到最大的灵活性和效率,JavaScript 类型数组(Typed Arrays)将实现拆分为 缓冲 和 视图 两部分。ArrayBuffer 作用是作为缓冲...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,027
精华内容 10,810
关键字:

二进制数据类型