二进制文件

PostgreSQL数据类型-二进制数据和字符串数据类型与字符串函数

巧了我就是萌 提交于 2020-02-29 12:35:05
PostgreSQL支持3种字符串类型,分别是character varying(n)、character(n)和text,character varying(n)可以写成varchar(n),character(n)可以写成char(n),最大长度1GB,text最大长度无限制。n是实际字符数量。 大部分情况下,推荐使用text和varchar(n)。 PostgreSQL支持一种二进制类型bytea。 二进制数据有图片(JPG、PNG等)、音乐(MP3、WMA等)格式文件,和字符串文件区别在于文本文件需要复合文件编码和储存可见字符,二进制文件没有类似限制,字符串适合储存文本文件。 ---字符串练习 postgres=# create table testtext(testtext char(2),testvarchar varchar(3), testchar text); CREATE TABLE postgres=# postgres=# postgres=# insert into testtext values('1','111','111'),('0','000','011777'); INSERT 0 2 postgres=# select * from testtext; testtext | testvarchar | testchar ----------+-

fopen参数@windows和linux的区别

ぐ巨炮叔叔 提交于 2020-02-29 08:16:54
作为文件的数据,在计算机中都是以二进制的形式存储的。 因此,对于文本文件和二进制文件的区分,不是在物理上的,而是在逻辑上的。 在开发时,遇到一个小问题,代码在linux下运行读写文件正常,而在windowns下读写文件出现异常。 【现象】 在linux中使用fopen第2个参数为"r"或"w"打开二进制文件后读写没有任何问题,但将代码移到windows后,读写却出现了异常。将参数改成"rb"和"wb"后,读写正常。 【原因】 在学习C语言文件操作后,我们知道打开文件的函数是fopen,也知道它的第二个参数mode是标志字符串。其中,如果字符串中出现'b',则表明是以打开二进制(binary)文件,否则是打开文本文件。 具体如下: 'r' 只读方式打开,将文件指针指向文件头,如果文件不存在,则File返回空。 'r+' 读写方式打开,将文件指针指向文件头,如果文件不存在,则File返回空。 'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 'a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 'a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 'x' 创建并以写入方式打开,将文件指针指向文件头