bestcourses is supported by learners. When you buy through links on our website, we may earn an affiliate commission. Learn more

Working with Binary Data in Python 3

Learn to read, write, manipulate and operate on bits and bytes

4.8 / 5.0
154 students1 hours 42 minutes

Created by John Leon, offered on Udemy

bestcourses score™

Student feedback


To make sure that we score courses properly, we pay a lot of attention to the reviews students leave on courses and how many students are taking a course in the first place. This course has a total of 154 students which left 45 reviews at an average rating of 4.8, which is average.

Course length


We analyze course length to see if courses cover all important aspects of a topic, taking into account how long the course is compared to the category average. This course has a length of 1 hours 42 minutes, which is pretty short. This might not be a bad thing, but we've found that longer courses are often more detailed & comprehensive. The average course length for this entire category is 4 hours 58 minutes.

Overall score


This course currently has a bestcourses score of 5.4/10, which makes it an average course. Overall, there are probably better courses available for this topic on our platform.


Learn how to work with binary data using Python 3. Everything in a computer is binary and bytes under the hood, so it is critical to understand how to work with data at this raw level.

Knowing how to manipulate binary data at and byte streams is an essential skill for any type of programming you do with Python from web developers to data scientists to game developers to security analysts and engineers, malware reverse engineers, and penetration testers

Some of the things you will learn include:

  • Reading write bytes to buffer streams and disk which is useful for working with any kind of binary file or network communication

  • Formatting output of bytes so you can view it as hexadecimal or even binary format.

  • Converting between Python objects and raw bytes which is useful for storing objects to disk or loading up binary data that was intended for a different computer system

  • Encoding and decoding bytes which lets you switch between raw bytes that you can store and transfer and usable objects in Python. For example, creating a save game file or transmitting data over the network.

  • Packing and unpacking structs; For example, creating a TCP/IP packet header or extracting data from proprietary file formats.

  • Performing bitwise operation like AND, OR, XOR, and ones copmlement which is useful for a variety of tasks like network masking and cryptography.

Course syllabus


  • Course overview

Basics of bytes

  • Bytes type

  • Bytearray type

  • BytesIO class

  • Formatting output

Bitwise operations

  • AND

  • OR

  • XOR

  • Ones complement

  • Bit shifting


  • Integers <-> Bytes

  • Binary strings

  • Hexadecimal strings

Working with files

  • Read and write bytes

  • Seek position

  • Get metadata about a file

Struct packing

  • What is struct packing?

  • Struct packing

  • Struct unpacking



  • UTF-8

  • Base64

What you will learn

  • Work with raw bytes in Python 3
  • Read and write binary files
  • Formatting binary output
  • Using bitwise operators
  • Encode and decode with UTF-8 and Base64
  • Packing and unpacking structs


  • Basic Python programming knowledge
  • A Python programming environment
Udemy logo
Available on


With almost 200,000 courses and close to 50 million students, Udemy is one of the most visited online learning platforms. Popular topics include software development, the digital economy, but also more traditional topics like cooking and music.

Frequently asked questions

  • Price: $19.99
  • Platform: Udemy
  • Language: English
  • 1 hours 42 minutes
Working with Binary Data in Python 3 thumbnail

bestcourses score: 5.4/10

There might be better courses available for this topic.