文本文件与二进制文件区别 r 与 rb 方式 w 与 wb方式(windows)—————— 开开开山怪

w和wb的区别 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 ... 阅读详情

文件属于外存的范畴:

其实不管是文本文件还是二进制的文件,其本质都是以二进制的方式进行存储的,只是解释的方式不同罢了,文本文件是将原本的二进制解释称文本文件的方式(也就是ASCII的方式),而二进制就是存储的时候什么样子,打开就是什么样子。

1. < w 和 wb方式打开文件并进行写的操作的区别>

最常听到回答就是:

r 是以文本文件的方式打开并且是只读方式打开
rb 是以二进制的凡是打开并且是只读方式打开
w 是以文本文件的方式打开并且是写的方式
wb 是以二进制的方式打开并且是写的方式

既然有两种方式存在,那么必然有不同之处。以r 或 rb方式打开并且进行读取操作并没有什么区别;以w 或 wb方式打开文件进行写入操作也没有什么区别,仅仅只是在对’\n’这个字符的读和写上存在区别。

1.【将文件以w方式打开(即文本文件的方式)】

不论采用fprintf()函数或者是fwrite()函数进行将’\n’字符写进文件,因为计算机都是采用二进制进行数据的存储,所以会显示0D 0A (0D表示一个字节,采用的是16进制表示),因为是以文本文件的方式进行打开,并且进行写入,所以文本文件对’\n’单个字符的处理是将’\n’ 变成了’\r\n’两个字符,所以在存储的形式是0D 0A,也相当于是两个字节。

2.【将文件以wb方式打开(即以二进制的方式)】

不论采用fprintf()函数还是fwrite()函数进行将’\n’字符写进文件,此时的存储形式为0A,
只有一个字节,所以二进制文件对’\n’字符的处理是按照它本身进行处理。

3.【总结】

w 和 wb 方式的唯一区别仅仅在于对’\n’字符的处理:
w方式写一个字符’\n’的时候,写进磁盘的是0D 0A(相当于写了在磁盘中写了两个字节)。
wb方式写一个字符’\n’的时候,写进磁盘的是0A(在磁盘中写了一个字节)。

2. < r 和 rb方式打开文件并进行读取操的区别>

1.【 将文件以r方式打开 】

不论采用fscanf()函数还是fread()函数进行读取,因为是以文本文件的方式进行打开,如果最初是采用w方式进行写进文件的,那么此时读取一个字符(也相当读取一个字节)的时候,将内存中的0D 连同下一个字节0A一块解释为’\n’,如果最初是以Wb方式写的,那么此时读取一个字符(也相当一个字节)的时候就仅仅只读一个0A,因为写进去的时候就只有0A。

2.【 将文件以rb方式打开 】

不论是采用fscanf()函数还是fread()函数进行读取时,因为是以二进制文件方式进行打开,所以当读取一个字符(也相当于一个字节的时候)事实上就读内存中的一个字节,所以如果当初写进文件采用的是w方式,内存中是0D 0A 但是此时只读一个0D,如果当初采用WB方式写入文件的此时也只读一个0A,因为只有0A。

3.【 总结 】

r 和 rb方式的区别也仅仅在于读取’\n’字符
r方式读取一个字符的时候,遇到0D会将后面0A这个字节连0D总共两个字节一起解释为一个字符’\n’
rb方式读取一个字符的时候,是正儿八经读一个字节,将读到的一个字节解释为字符

MATLAB新手必看:5分钟搞定直流无刷电机Simulink仿真(附完整模型下载) 本文为MATLAB新手提供直流无刷电机Simulink仿真的快速入门指南,涵盖从环境配置到速度控制闭环实现的完整流程。通过详细的模块选择和参数设置说明,帮助读者5分钟内搭建基础仿真模型,并附赠完整模型下载,助力快速掌握电机控制仿真技术。 阅读详情

相关推荐

2024最新指南:如何用Python批量下载Sentinel-2数据(附避坑清单)

本文提供2024年最新Python批量下载Sentinel-2遥感数据的完整指南,涵盖环境配置、API准备、核心下载流程实现及实战避坑清单。通过智能查询器、断点续传下载器等实用工具,帮助用户高效获取遥感数据,避免常见网络问题和数据完整性验证失败。

silver的专栏 618

文件的基本操作r模式,w模式,a模式

学习文件的目的: 通过文件可以保证程序中的数据做到持久化存储 持久化存储的方式: 文件 -> 简单数据或者少量数据 数据库 -> 复杂数据或者大量数据,读写性能极高。 # 文件的操作模式有: # 1. r模式: 以字符串的方式读取文件中的数据 # 2. w模式:以字符串的方式往文件中写入数据 # 3. a模式: 以字符串的方式往文件末尾追加写入数据 # 4. rb模式:以字节(二进制)方式读取文件中的数据 # 5. wb模式: 以字节(二进制)方式往文件中写入数据 # 6. a...

缘 源 园 9123

网络流量监测技术

NetFlow是Cisco公司提出的网络数据包交换技术,该技术首先被用于网络设备对数据交换进行加速,并可同步实现对高速转发的IP数据流(Flow)进行测量和统计。  随着宽带互联网在中国 的迅速发展,全国各大电信运营商的网络规模都在不断扩张,网络结构日渐复杂,网络业务日趋丰富,网络流量高速增长。电信运营商需要通过可靠、有效的网络业 务流量监测系统对其网络以及网络所承载的各类业务进行及时、准

红杉树(ecitnet)的博客 5538

Python文件操作——只读操作(rt、rb)

这里写自定义目录标题open(文件路径, mode='r', encoding='UTF-8')一、读取所有内容:s = f.read()二、读取所有内容:for遍历三、读取行内容:f.readline().strip()1.while循环:需要手动结束while循环2.for循环:(偶数)隔行打印 open(文件路径, mode=‘r’, encoding=‘UTF-8’) 注意:文件路径,分别为相对路径与绝对路径(或网络链接),相对路径指相对于当前程序所在的文件夹,绝对路径指磁盘的完整路径(window

weixin_40458518的博客 6026

Cesium 入门

Viewer:主要窗口Cesium 展示三维要素内容的主要窗口,包含三维地球的视窗,还包含了一些基础控价const viewer = new Cesium.Viewer('div的ID',{ options可选参数 },包括图层)options可选参数animation: false, 隐藏动画效果timeline:false, 隐藏时间轴等等Scene:场景类,隐藏地球图层Entity:实体类。

虎康的博客 3665

KEPServerEX 6 之 lot Gateway MQTT Clinet 配置使用方式

IoT Gateway即Internet of Things Gateway物联网网关。 ---------------------------------------------------------------------------------- 方式:使用kepw的IOTGateway插件选择MQTTClient 解决:可以实现 KEPW 的Tag值 发送到 MQTT 服务器上 ----------------------------------------...

-雲飛兄-博客 6937

python中r,w,rb,wb的区别与联系

在Python中,文件对象的打开模式(如 'r', 'w', 'rb', 'wb' 等)决定了如何与文件进行交互。

m0_73514785的博客 2857

保姆级YOLOv8改进 | 基于DWRSeg扩张式残差机制的小目标检测优化(附修改后的C2f与Bottleneck模块)

DWRSeg机制:通过动态权重调整和扩张卷积有效提升了小目标的检测能力。C2f和Bottleneck模块修改:通过集成DWRSeg模块,增强了特征提取和残差学习能力。实验结果:在多个应用场景中,改进后的YOLOv8展现了更高的检测精度,特别是在小目标检测中表现突出。

一键难忘的博客 3214

Python读写文件rb,wb,ab模式

rb模式:以字节(二进制)方式读取文件中的数据 wb模式: 以字节(二进制)方式往文件中写入数据 ab模式: 以字节(二进制)方式往文件末尾追加写入数据 学习rb模式的目的: 1. 想要借助网络把一个文件中的数据发生给另外一个程序的话,需要使用字节(二进制)的数据 2. 读取非文本文件,比如: 视频,图片,音频等文件需要使用rb模式读取数据 # 打开文件指定文件的操作模式 file = open("1.txt", "rb") # 读取文件中的数据 data = file.read() print(da

缘 源 园 1万+

《MySQL 入门教程》第 03 篇 管理数据库

本篇主要介绍 MySQL 数据库的创建、查看、选择和删除操作,包括使用 mysql 命令行和 MySQL Workbench 图形工具两种方式。

Tony.Dong的专栏 3521

车企自动泊车技术全解|纯视觉/多传感器融合双路线、端到端大模型革新 助力机械车位/无划线车位/极窄车位精准泊车落地

随着智能驾驶技术全面下沉,自动泊车已从高端车型专属配置,普及至十万级家用车型,成为车载核心刚需功能。但市面主流车企的泊车能力差距极大,核心差异源于传感器硬件架构、算法迭代逻辑、场景训练体系的全方位分化。传统规则式泊车算法仅适配标准划线车位,面对地库暗光、标线磨损、机械双层车位、极窄靠墙车位、无划线空地泊车等真实长尾场景极易失效。

getusushu的博客 105

C语言 文件操作6--文件打开方式详解

fopen文件打开模式 r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表text r 打开只读文件,该文件必须存在r+ 打开可读可写的文件,该文件必须存在(这里的写文件是指将之前的文件覆盖rt 打开只读文本文件,该文本必须存在rt+ 读写打开一个文本文件,允许读和写,该文件必须存在(这里的写文件是指将之前的文件覆盖rb 只读打开一个二进制文件,,该文本必须存...

weixin_33863087的博客 924

(14-3)值分布式算法:QR-DQN (Quantile Regression DQN)算法

QR-DQN(Quantile Regression DQN)是一种强化学习算法,它是深度 Q-网络(Deep Q-Network,DQN)的一个变种,旨在更好地处理值函数的不确定性。QR-DQN的实现步骤与传统的DQN类似,但在目标分布计算和损失函数方面有一些不同之处,这使得它能够更好地处理值函数的不确定性。QR-DQN(Quantile Regression DQN)算法的核心思想是将值函数表示为一个分布,而不是传统的单一值估计。在下面的内容中,将讲解一个使用QR-DQN算法的例子。

码农三叔 2052

py日常问题( ‘rb‘ ,‘wb‘的区别,转函数定义,KFold)

python中open ‘r’,’w’, ‘rb’ ,'wb’的区别 “r” 以读方式打开,只能读文件 , 如果文件不存在,会发生异常 “w” 以写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,先清空,再打开文件 “rb” 以二进制读方式打开,只能读文件 , 如果文件不存在,会发生异常 “wb” 以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,先清空,再打开文件 KFold交叉验证 在机器学习建模过程中,通行的做法通常是将数据分为训练集和测试集。测

YH_24H的博客 1307

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

python--文件模式(r,r+,rb,w,w+,wb,a,a+,ab)

文件这块,在实际的工作中应用很广泛,但是文件模式稍微应用不到位,不光做不到方便,还会找半天的问题,借此机会好好理一下文件中的各种访问模式及差别: **r:**只读方式 ,如果文件不存在会报错; r+:可读写。如果文件不存在会报错; 先读后写:读完后文件位置在最后,读后再写,会在文件的最后添加内容 ;读完后通过seek()将文件位置移动最前面再写,会覆盖部分内容,比如,文件本来存在5行,通过seek(0)移动后再写3行时,文件一共还是5行,只是前面的3行是后面写的内容。 先写后读:先写会覆盖掉部分文件本来存在

kellyred的博客 1163

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Python 文件读写操作区别案例(r、r+、rb、w、w+、wb、a、a+、ab)

读 r(read)写 w(write)追加 a(append)。r+、w+、a+ 使用案例r、rb、w、wb、a、ab 使用案例with open() 文件操作。

卡尔特斯 7939

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C语言文件相关基础知识

时间: 2020-07-19 18:16 文章目录1,mode打开方式2,文件的打开与关闭3,fgetc 与 fputc4,fgets 与 fputs5,fprintf 与 fscanf6,fwrite 与 fread7,_putw 与 _getw8,feof9,ferror 与 perror10,clearerr_s11,ftell12,fseek 1,mode打开方式 “r” 以 “读” 的方式打开一个文本文件 (只读) “r+” 与 “r” 的区别在于, 增加了 “写” (可读

疯狂的菜鸡 1427

C语言 文件方式“w”和“wb”的区别

wb 类型: #include <stdio.h> #include <string.h> int main(void) { FILE *file1; char info[] = "Hello\nWorld"; int age; int ret; file1 = fopen("test.txt", "wb"); fwrite(info, sizeof(char), strlen(info), file1); fclose(file1); retu.

用技术驱动美好生活! 5383

python读取文件时 wb,python文件读写模式 --- r,w,a,r+,w+,a+,rb,wb

要了解文件读写模式,需要了解几种模式的区别,以及对应指针r : 读取文件,若文件不存在则会报错w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件a : 写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾rb,wb:分别于r,w类似,但是用于读写二进制文件r+ : 可读、可写,文件不存在也会报错,写操作时会覆盖w+ : 可读,可写,文件不存在先创建,会覆盖a+ :可...

weixin_42396174的博客 3363

\n \r的区别和由来

在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“

sakaliu的专栏 904

Linux 启动Springboot项目的jar文件

1. idea 的maven 使用install 打包。 2. 在target中找到 以.jar 结尾的 java运行文件。 3.上传到linux服务器中,该服务器需要安装jdk 4. 找到上传文件的目录 5. 执行(下面的 tuantuan 改为自己java文件的名字) nohup java -jar tuantuan.jar & 6. 运行完毕后,该目录会有一个nohup.out 的文件,这个文件就是输出日志的文件。 结束。 ...

chuxin_mm的博客 761

C/C++ 文件读取操作 竞赛篇

Open file FILE *fp = fopen("file_name","mode") mode参数解释: “r”:以只读的形式打开文本文件(不存在则出错) “w”:以只写的形式打开文本文件(若不存在则新建,反之,则从文件起始位置写,覆盖原内容) “a”:以追加的形式打开文本文件(若不存在,则新建;反之,在原文件后追加) “r+”:以读写的形式打开文本文件(读时,从头开始;写时,新数据只覆盖所占的空间) “wb”:以只写的形式打开二进制文件 “rb”:以只读的形式打开二进制文件 “ab”:以追加的形

hero_th的博客 1384

C文件读写

文件读写,前边我们说过iOS的,今天来说说C的 如何创建、打开、关闭文本文件或二进制文件?(C开发人员) 打开文件 可以使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型 FILE 的一个对象,类型 FILE包含了所有用来控制流的必要的信息。下面是这个函数调用的原型: FILE *fopen(const char * __restri

学如逆水行舟 1910

Python打开文件时'w'与'wb','r'与'rb'的区别(2019年1月3日)

文件读写中后面的参数:w,r,wt,rt,wb,rb,都是python里面文件操作的模式。 1、w是写模式,r是读模式。 2、t是windows平台特有的所谓text mode(文本模式),区别在于会自动识别windows平台的换行符。类Unix平台的换行符是\n,而windows平台用的是\r\n两个ASCII字符来表示换行,python内部采用的是\n来表示换行符。rt模式下,python...

风清扬 9937

程序示例并通过查看文件十六进制数据验证有关C语言文件打开方式wb、rb ,w、r区别与windows中C语言有关换行问题

1.二进制打开方式wb、rb等与文本打开形式w、b区别 2.通过getchar()获取窗口数据,并用wb方式将数据写入文件验证回车变成\n 即0a 通过getchar(),类似于scanf(),\r\n被送入内存的只有\n,因此内存的原封不动的输出到文件。

weixin_53456019的博客 1259

C语言文件 "w+"与"wb+"区别

这是我今天碰到的问题,现在已经解决, 希望我的整理能够帮助到你们! w+以纯文本方式读写,而wb+是以二进制方式进行读写。 mode说明: w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 wb 只写方式打开或新建一个二进制文件,只允许写数据。 ...

落花四月 4万+
上一篇: 关于将数据写入文件的两个函数fwrite()与fprintf()的大不同 —————— 开开开山怪
下一篇: 3大类6种排序 插入排序 选择排序 冒泡排序 希尔排序 堆排序 快速排序 —————— 开开开山怪
开开开山怪
博客等级 码龄8年 41粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值