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 testersSome 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 communicationFormatting 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 systemEncoding 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 syllabusIntroCourse overviewBasics of bytesBytes typeBytearray typeBytesIO classFormatting outputBitwise operationsANDORXOROnes complementBit shiftingConversionIntegers BytesBinary stringsHexadecimal stringsWorking with filesRead and write bytesSeek positionGet metadata about a fileStruct packingWhat is struct packing?Struct packingStruct unpackingEncodingASCIIUTF-8Base64