【Python 二进制和十六进制】零基础也能轻松掌握的学习路线与参考资料

news2024/9/24 23:31:35

在这里插入图片描述

1.了解二进制和十六进制的基本概念和用途

在计算机中,二进制和十六进制是两种常用的表示数据的方式。二进制只有两个数字0和1,表示一个比特(bit),在实际的计算机程序中,常用八个比特表示一个字节(byte)。而十六进制则由0-9和A-F组成,表示一个字节的所有16种可能的取值。

学习路线:

  • 可以从计算机科学中的进制学习开始入门,Python编程基础中也有相关介绍。
  • 参考教材:《深入浅出计算机组成原理(第2版)》,王爱英等著,人民邮电出版社。
  • 参考网址:https://www.cnblogs.com/davidwang456/p/9195550.html、https://blog.csdn.net/qq_36334106/article/details/72541682

2.掌握Python中二进制和十六进制的转换方法

在Python中,可以使用bin()和hex()函数将十进制转换为二进制和十六进制。如果想将二进制或十六进制转换为十进制,可以使用int()函数。

学习路线:

  • 在Python编程基础中有相关介绍,可以从此入门。
  • Python标准库中也有相关的模块,如binascii、struct等,可以查看官方文档了解更多用法。
  • 参考书籍:《Python核心编程》,特蕾西·詹哥利诺著,中国电力出版社,第5章。
  • 参考网址:https://www.runoob.com/python/python-numbers.html、https://docs.python.org/3/library/binascii.html、https://docs.python.org/3/library/struct.html

3.学习使用Python处理二进制和十六进制数据

在实际编程中,可能需要对二进制和十六进制数据进行操作,包括读取、写入、解析等。Python提供了许多库和模块来处理这些任务,如struct、binascii、pandas等。

学习路线:

  • 可以从Python标准库中的模块开始学习,如struct和binascii,了解其用法。
  • 学习使用pandas库处理二进制数据,可以先了解pandas的基本用法,再深入了解其对二进制数据的支持。
  • 参考书籍:《Python数据科学手册》,杰克·范德普莱特著,人民邮电出版社。
  • 参考网址:https://docs.python.org/3/library/struct.html、https://docs.python.org/3/library/binascii.html、https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#binary-dependencies

4.掌握Python中常用的二进制和十六进制编解码算法

在实际编程中,可能需要对数据进行加密、解密、压缩等操作。这些操作需要使用特定的编解码算法。Python提供了许多库和模块来支持这些算法,如base64、gzip、zlib等。

学习路线:

  • 先了解这些编解码算法的原理及其在实际编程中的应用场景。例如,base64常用于将二进制数据转换为可读文本,gzip和zlib常用于压缩二进制数据。
  • 在Python中,这些编解码算法都有对应的库和模块。可以先从标准库中的模块开始学习,如base64、gzip和zlib,了解其用法。
  • 参考书籍:《Python标准库》(第2版),Doug Hellmann著,人民邮电出版社。
  • 参考网址:https://docs.python.org/3/library/base64.html、https://docs.python.org/3/library/gzip.html、https://docs.python.org/3/library/zlib.html

优秀实践

1.编写一个函数,将一个十进制整数转换为二进制字符串。

可以使用bin()函数来实现,例如:

def dec2bin(num):
    return bin(num)[2:]

2.编写一个函数,将一个十六进制字符串转换为二进制字符串。

可以使用int()和bin()函数来实现,例如:

def hex2bin(hexstr):
    return bin(int(hexstr, 16))[2:]

3.编写一个函数,将一个二进制字符串转换为十六进制字符串。

可以使用int()和hex()函数来实现,例如:

def bin2hex(binstr):
    return hex(int(binstr, 2))[2:]

4.解析一个二进制数据包

可以使用struct模块来解析二进制数据包,例如:

import struct

data = b'\x01\x02\x03\x04'
values = struct.unpack('BBBB', data)
print(values)  # (1, 2, 3, 4)

5.压缩和解压二进制数据

可以使用gzip和zlib模块来实现,例如:

import gzip

data = b'hello world'
compressed = gzip.compress(data)
decompressed = gzip.decompress(compressed)
print(decompressed)  # b'hello world'

参考资料

1.丁二玖.菜鸟数据分析实战:Python篇[M]. 北京:机械工业出版社, 2019.

2.福颂.数据科学与Python [M]. 北京:电子工业出版社, 2020.

3.《Python编程从入门到实践》,Eric Matthes,人民邮电出版社,2018

4.《Python编程快速上手——让繁琐工作自动化》,Al Sweigart,人民邮电出版社,2020

  1. Python官方文档:https://docs.python.org/3/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/610924.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在 JavaScript 中创建自定义警告框

本文将介绍如何使用 jQuery UI、SweetAlert2 和自定义警报功能在 JavaScript 中创建自定义警报框。 使用 jQuery UI 创建自定义警告框 我们可以使用 jQuery UI 来模仿 JavaScript 本机 alert() 函数的功能。 尽管 jQuery UI 有很多 API,您可以使用它的 dialog() AP…

Python--注释

Python--注释 <font size4, colorblue> 一、Python中注释的形式<font size4, colorblue> 1、单行注释&#xff1a;使用“#”符号注释<font size4, colorblue> 2、多行注释&#xff1a;使用一对三个英文单引号注释<font size4, colorblue> 3、多行注释&…

W3电力线载波通信技术

CK_Label_W3 CK_Label_W3&#xff08;外接供电版&#xff09; 产品型号 CK_Label_W3 尺寸 114.5*44.5*19mm 屏幕尺寸 2.9 inch 分辨率 296*128 像素密度 112dpi 显示技术 电子墨水屏显示 显示颜色 黑/白 外观颜色 白色 按键 4 指示灯 4 RGB灯 灯光颜色…

帮你梳理了一份前端知识架构图

列一份前端知识架构图 在上一篇文章中&#xff0c;我们简要地总结了前端的学习路径与方法&#xff0c;我们提到的第一个学习方法就是&#xff1a;建立知识框架。那么&#xff0c;今天我们就一起来列一份前端的知识框架图。 在开始列框架之前&#xff0c;我想先来谈谈我们的目…

GoogleTest之gMock:创建Mock

目录 MOCK_METHODmock方法的访问属性mock重载函数mock模板类mock非虚函数mock自由函数Nice/Strict/Naggymock方法简化参数mock具体类的替代方法代理给fake mock是用来模拟对象&#xff0c;隔离边界的一种测试方法&#xff0c;以便在开发阶段不需要依赖第三方或其他依赖项可以进…

C#,码海拾贝(31)——约化“对称矩阵“为“对称三对角阵“的“豪斯荷尔德Householder变换法“之C#源代码

using System; namespace Zhou.CSharp.Algorithm { /// <summary> /// 矩阵类 /// 作者&#xff1a;周长发 /// 改进&#xff1a;深度混淆 /// https://blog.csdn.net/beijinghorn /// </summary> public partial class Matrix {…

运维小白必学篇之基础篇第九集:Linux文件管理实验

Linux文件管理实验 实验作业&#xff1a; 1、筛选/etc/issue文件中的空行 2、筛选/etc/passwd文件中以“bash”结尾的行 3、筛选/etc/passwd文件中以“sync”开头的行 4、列出/etc/passwd文件中包含“dns”的行,并显示行号 5、创建a1-a3.txt3个文件&#xff0c;使用tar命令将这…

基于GD32的定时器不完全详解--定时、级联

SysTick 定时器 SysTick 是一个 24 位的倒计数定时器&#xff0c;当计到 0 时&#xff0c;将从 RELOAD 寄存器中自动重装载定时初值。只要不把它在 SysTick 控制及状态寄存器中的使能位清除&#xff0c; 就永不停息。 该定时器的介绍在MCU的手册中一般不会介绍&#xff0c;因为…

MySQL server安装记录

1 安装Notepad 运行下载的 npp.7.9.Installer.x64.exe 2 安装MySQL 将mysql-8.0.22-winx64.zip解压缩&#xff0c;我将其放置D盘根目录下。 进入文件夹&#xff0c;在目录中新建文件夹data和文件my.ini 用NotePad打开my.ini&#xff0c;输入以下内容并保存&#xff0c;其中目…

讨论和总结 树模型 的三种序列化 方式的区别(模型存储大小、序列化所用内存、序列化速度)...

一、前言 本文总结常用树模型&#xff1a; rf&#xff0c;xgboost&#xff0c;catboost和lightgbm等模型的保存和加载&#xff08;序列化和反序列化&#xff09;的多种方式&#xff0c;并对多种方式从运行内存的使用和存储大小做对比 二、模型 2.1 安装环境 pip install xgboos…

「车型分析」移动机器人控制系统典型应用车型 ——叉式移动机器人(AGV/AMR)

叉式移动机器人&#xff08;AGV/AMR&#xff09;是一种常见的移动机器人类型&#xff0c;它摆脱传统的人车操作&#xff0c;自动导航行驶&#xff0c;具有强大的柔性和智能性。叉式移动机器人&#xff08;AGV/AMR&#xff09;不同于传统叉车&#xff0c;它无需人工驾驶运行。具…

Spring纯注解开发模式让开发简化更简化

目录 一.注解开发二.注解定义Bean三.衍生注解四.纯注解开发模式五.注解实现注入 1.自动装配2.按名称注入3.简单数据注入4.读取properties配置文件六.Spring整合MyBatis 一.注解开发 以前跟老韩学习SE时他就说&#xff1a; 注解本质是一个继承了Annotation 的特殊接口,其具体…

龙华商业中心片区旧改:总建面161万平,分5个片区进行建设。

龙华商业旧改&#xff1a;总建面约161万平分5个片区进行建设 据了解&#xff0c;整个龙华商业旧改整体包含北、中、东、南一、南二五个片区&#xff0c;各个片区均整体实施。 更新单元南一片区项目&#xff08;金地宸峯府&#xff09;&#xff0c;拆除用地面积30836.8平方米&…

前4月同比增长超50%,这条座舱智能化赛道国产化率逼近50%

车市行情的低迷&#xff0c;并没有影响智能化人机交互功能的需求增长。 根据高工智能汽车研究院监测数据显示&#xff0c;2023年1-4月中国市场&#xff08;不含进出口&#xff09;乘用车标配HUD&#xff08;W/AR&#xff09;搭载交付55.36万辆&#xff0c;同比增长54.98%&…

附录2-小程序常用API

API有三大类&#xff0c;事件监听API&#xff0c;同步API&#xff0c;异步API 事件监听API都以on开头&#xff0c;比如wx.onWindowResize()监听窗口尺寸变化事件 同步API都以Sync结尾&#xff0c;同步API可以通过函数返回值直接获取&#xff0c;执行出错会抛出异常。比如 wx.…

健康管理系统开发笔记

健康管理系统 项目介绍功能架构项目结构maven项目搭建 项目介绍 健康管理系统是一款应用于健康管理机构的业务系统&#xff0c;实现健康管理机构工作内容 可视化、会员管理专业化、健康评估数字化、健康干预流程化、知识库集成化&#xff0c;从而提 高健康管理师的工作效率&a…

12.页面导航

页面导航 是 页面之间的相互跳转&#xff0c;我们在浏览器中可以使用 a链接 与 location.href 进行跳转 在小程序中可以使用 声明式导航(navigator标签&#xff0c;类似于a标签) 与 编程式导航(使用小程序导航API&#xff0c;类似于location.href) 来跳转页面 目录 1 声明式…

软考A计划-电子商务设计师-电商设计师重点

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

VS2019社区版和QT安装记录

下载 VS2019&#xff1a; Visual Studio 2019 版本 16.11 发行说明 | Microsoft Learnhttps://learn.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes选择第一个&#xff0c;下载社区版。或者这里下载。 比较简单的方式就是直接打开&#xff0c;网络安装。但微…

camunda如何清理或归档历史数据

一、camunda如何清理历史数据 Camunda 提供了多种方式可以清理历史数据。以下是一些常见的方式&#xff1a; 1、使用 HistoryService#deleteHistoricProcessInstance 方法&#xff1a;该方法用于删除指定的历史流程实例以及与之关联的所有历史数据&#xff0c;包括历史任务、…