Reading list Switch to dark mode

    Performing String and Bytes Data Conversion in Python3.x

    Updated 1 October 2019

    In Python 3.5 String and Bytes are not same as in Python2.7, the manual conversion between them need to do using and encode<==> decode method.

    String===>(encode)==>Byte===>(decode)==>String

     

    String Encode:

    encode(…) method of builtins.str instance
    S.encode(encoding=’utf-8′, errors=’strict’) -> bytes

    Bytes Decode:

    Start your headless eCommerce
    now.
    Find out More

    decode(…) method of builtins.bytes instance

    B.decode(encoding=’utf-8′, errors=’strict’) -> str

     

    While doing Python 2.7 to Python 3.5 migration the most common issue is related to Text(String and Bytes) data type, One of such common issue is:

    TypeError: a bytes-like object is required, not ‘str’

    Error occurs due to the type mismatch of bytes and string.

    For solving this error encode the string data to bytes format by calling string_data.encode().

     

    Python 3.x the unicode type has been renamed as str and the older str type has been replaced by bytes.

    See the below example  (in Python 2.x)

    #Bytes and String data are same.
    
    bytes==str  #True
    
    help(bytes) #class str(basestring)
    
    help(str) #class str(basestring)
    
    
    #String and Unicode data are different.
    
    str==unicode # False
    help(str) #class str(basestring)
    
    help(unicode) #class unicode(basestring)
    

     

    The same code in Python3.x

    #Bytes and String data are different.
    
    bytes==str  #False
    
    help(bytes) #class bytes(object)
    help(str) #class str(object)
    
    #Unicode data type not exists.
    
    unicode#NameError: name 'unicode' is not defined
    

     

    That’s all for today. I hope this blog will help you. I’d be very grateful if you’d write your opinions, comments, and suggestions to keep the page updated and interesting.

    You may also like our post on using Python  ftplib library for File transfer.

    . . .

    Leave a Comment

    Your email address will not be published. Required fields are marked*


    2 comments

  • CHANDRA BHUSHAN KUMAR
    • Anisha Bahukhandi (Moderator)
  • Back to Top

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home