Logo

How to convert 'binary string' to normal string in Python3?

In Python 3, bytes (e.g., b'Hello') and str (e.g., 'Hello') are separate types. When you say “binary string,” you’re likely referring to a bytes object. To convert it into a normal string (a Python 3 str), you just need to decode the bytes using the correct character encoding.

Below is a simple example:

# Suppose you have a bytes object binary_str = b'Hello, world!' # Convert (decode) the bytes object to a str normal_str = binary_str.decode('utf-8') print(normal_str) # Output: Hello, world! print(type(normal_str)) # Output: <class 'str'>
  1. Identify Encoding:

    • UTF-8 is the most commonly used encoding on the web.
    • If you know the data is in another encoding (e.g., ASCII, Latin-1), specify it accordingly, like binary_str.decode('ascii').
  2. Handling Errors:

    • When decoding a bytes object that may have invalid sequences, you can specify an error-handling strategy:
      normal_str = binary_str.decode('utf-8', errors='replace')
      This replaces invalid characters with a question mark.
  3. Encoding vs. Decoding:

    • Encoding: strbytes via .encode('utf-8')
    • Decoding: bytesstr via .decode('utf-8')

Example in Context

# Let's say you fetched bytes data from a file or network stream response_bytes = b'Example data:\xc2\xa9 2025' # Decode it to a human-readable str response_str = response_bytes.decode('utf-8') print(response_str) # Output: Example data:© 2025

By decoding the bytes (b'...'), you end up with a normal Python 3 string that can be printed or processed further.

Level Up Your Python Skills

If you’re looking to get a deeper understanding of Python (including how to handle files, encodings, and more advanced topics), here are some recommended resources from DesignGurus.io:

For developers aiming to build scalable, robust applications—or preparing for system design interviews at major tech companies—consider:

  • Grokking System Design Fundamentals
    This course focuses on the core concepts of distributed systems and high-level software architecture, critical skills for senior engineering roles.

Key Takeaway: To convert a “binary string” (i.e., a Python 3 bytes object) to a normal string (str), call .decode('utf-8') (or the appropriate encoding). This straightforward conversion is essential for working safely with text data in Python 3. Happy coding!

TAGS
Python
CONTRIBUTOR
TechGrind