首页 > 其他分享 >学习笔记2

学习笔记2

时间:2023-09-17 12:33:05浏览次数:36  
标签:文件 读取 二进制 读写 base64 笔记 学习 文本文件

对于C语言中的文件操作:

  1. 字符读写:

    • getc:从文件中读取一个字符。
    • putc:将一个字符写入文件。
  2. 行读写:

    • fgets:从文件中读取一行文本。
    • fputs:将一行文本写入文件。
    • getline:动态地读取一行文本。
  3. 任意位置读写:

    • fseek:定位文件指针到指定位置。
    • ftell:获取当前文件指针的位置。
    • rewind:将文件指针重新指向文件起始位置。

除了上述操作,还有其他常用的文件操作函数,如打开和关闭文件、读写整个文件等:

  • fopen:打开文件。
  • fclose:关闭文件。
  • fprintf:将格式化的数据写入文件。
  • fscanf:从文件中读取格式化的数据。
  • fread:从文件中读取指定数量的数据。
  • fwrite:将指定数量的数据写入文件。
  • remove:删除文件。

在linux终端中进行简单的文件操作:

echo 'content' >> file_name : 将内容插入到文本末尾或创建文件插入

less file_name :打开文本文件,并允许逐页浏览:

 

 

文本文件和二进制文件转换:

将二进制文件转换为文本文件的终端代码:

base64 -w 0 inputfile > outputfile.txt

inputfile是要转换的二进制文件名,outputfile.txt是转换后的文本输出文件名。-w 0选项用于指定行宽为零,以便输出的base64编码字符串在一行中显示。

base64 -d inputfile.txt > outputfile

-d选项用于告诉base64命令进行解码操作。

  • 文本文件转换为二进制文件时,原始文件的权限和元数据可能无法还原。此外,对于非纯文本文件(如图像或音频文件),转换为文本文件并将其还原为二进制文件可能会导致数据损失或不完全还原。

 以上是基于base64编码文件才能实现的转换,在操作过程中遇到问题报错:base64:输入无效,询问GPT:

 

然而在终端实现二进制文件转换可以直接用cat工具,附加自己实现的代码

内容一样没问题,格式上再代码输出上有差异

 

苏格拉底挑战一下:

1.文件操作

1. "r"只读方式打开文件,文件必须存在。

2. "w"只写方式打开文件,文件存在则清空文件。

3. "a"追加方式打开文件,文件存在则在文件末尾追加内容。

4. "r+"读写方式打开文件,文件必须存在。

5. "w+"读写方式打开文件,文件存在则清空文件。

6. "a+"读写方式打开文件,文件存在则在文件末尾追加内容。

2.有关文件编码和进制转换

文件编码在文件处理中起到至关重要的作用。它决定了如何正确地读取和解释文件中的字符数据。通过适当的文件编码,计算机可以理解和处理文件中的文本内容。

 

学习linux系统中的一些笔记(持续更新)

标签:文件,读取,二进制,读写,base64,笔记,学习,文本文件
From: https://www.cnblogs.com/dkyzhouyikai/p/17706848.html

相关文章

  • 《深入LINUX内核架构》学习笔记 ——01
    模块相关的知识1.模块相较于宏内核(微内核优点)模块消除了宏内核的许多限制,包括:缺乏动态可拓展性、导致内核映像尺寸膨胀、测试新特性时必须重启系统等。2.静态链接、动态链接及模块依赖(TIPS)《深入理解计算机系统》中有这样一段话:共享库是一个目标模块,在运行或加......
  • 国家图书馆开放时间 学习区开放时间拉长了!
       时间规定来源::国家图书馆公众号......
  • FastAPI学习-15.JSON 编码器 jsonable_encoder
    前言在某些情况下,您可能需要将数据类型(如Pydantic模型)转换为与JSON兼容的数据类型(如dict、list等)。比如,如果您需要将其存储在数据库中。对于这种要求, FastAPI提供了jsonable_encoder()函数。使用jsonable_encoderjsonable_encoder在实际应用场景中,可能需要将数据类型(如:Py......
  • FastAPI学习-16.响应状态码 status_code
    前言与指定响应模型的方式相同,你也可以在以下任意的_路径操作_中使用 status_code 参数来声明用于响应的HTTP状态码:@app.get()@app.post()@app.put()@app.delete()响应状态码fromfastapiimportFastAPIapp=FastAPI()@app.post("/items/",status_code=201)......
  • 学习规划和路线
    学习规划第一个月先是明确学习目标,了解学习语言的发展背景理解Python的基础知识:学习Python的语法、变量、数据类型、运算符等基础概念。掌握Python的控制流:学习条件语句(if-else)、循环语句(for、while)以及相关的控制流程。学习函数和模块:了解如何定义和调用函数,学习如何使用Py......
  • FastAPI学习-17.其它响应html,文件,视频或其它
    前言通过我们返回JSON类型的接口会比较多,除了返回JSON格式,还可以响应其它格式的内容JSONResponseContent-Type 会被设置成 application/jsonHTMLResponseContent-Type 会被设置成 text/htmlPlainTextResponse Content-Type 会被设置成text/plainORJSONResp......
  • FastAPI学习-18.Response 返回 XML 格式
    前言假设你想要返回一个 XML响应。你可以把你的XML内容放到一个字符串中,放到一个 Response 中,然后返回。Response自定义返回可以把XML内容放到一个字符串中,放到一个 Response 中,设置media_type="application/xml"fromfastapiimportFastAPI,Responseapp=Fa......
  • FastAPI学习-19.response 参数-修改状态码
    前言假设你想默认返回一个HTTP状态码为“OK”200。但如果数据不存在,你想创建它,并返回一个HTTP状态码为“CREATED”201。但你仍然希望能够使用response_model过滤和转换你返回的数据。对于这些情况,你可以使用一个response`参数。使用 response 参数status_code设置默认状......
  • FastAPI学习-21.response 参数-设置响应Cookies
    前言可以在 路径函数 中定义一个类型为 Response的参数,这样你就可以在这个临时响应对象中设置cookie了。response参数设置cookiesfromfastapiimportFastAPI,Responseapp=FastAPI()@app.post("/cookie-and-object/")defcreate_cookie(response:Response):......
  • 第九章学习笔记
    Unix/Linux系统编程学习笔记第九章知识点归纳以及最有收获的内容I/O库函数知识点总结1.文件操作open()函数:用于打开文件,可以指定文件名、模式(读取、写入、追加等)以及编码。文件模式(mode):包括读取模式('r')、写入模式('w')、追加模式('a')、二进制模式('b')等。close()函数:用于关......