Converting a sequence of bytes to a Unicode string is done by calling the decode[]
method on that str
[in Python 2.x] or bytes
[Python 3.x] object.
If you actually have a list of bytes, then, to get this object, you can use ''.join[bytelist]
or b''.join[bytelist]
.
You need to specify the encoding that was used to encode the original Unicode string.
However, the term "Python string" is a bit ambiguous and also version-dependent. The Python str
type stands for a
byte string in Python 2.x and a Unicode string in Python 3.x. So, in Python 2, just doing ''.join[bytelist]
will give you a str
object.
Demo for Python 2:
In [1]: 'тест'
Out[1]: '\xd1\x82\xd0\xb5\xd1\x81\xd1\x82'
In [2]: bytelist = ['\xd1', '\x82', '\xd0', '\xb5', '\xd1', '\x81', '\xd1', '\x82']
In [3]: ''.join[bytelist].decode['utf-8']
Out[3]: u'\u0442\u0435\u0441\u0442'
In [4]: print ''.join[bytelist].decode['utf-8'] # encodes to the terminal encoding
тест
In [5]: ''.join[bytelist] == 'тест'
Out[5]: True
Python Basic: Exercise-118 with Solution
Write a Python program to create a bytearray from a list.
Sample Solution:-
Python Code:
print[]
nums = [10, 20, 56, 35, 17, 99]
# Create bytearray from list of integers.
values = bytearray[nums]
for x in values: print[x]
print[]
Sample Output:
10 20 56 35 17 99
Visualize Python code execution:
The following tool visualize what the computer is doing step-by-step as it executes the said program:
Python Code Editor:
Have another way to solve this solution? Contribute your code [and comments] through Disqus.
Previous: Write a Python program to prove that two string variables of same value point same memory location.
Next: Write a Python program to round a floating-point number to specified number decimal places.
Python: Tips of the Day
Function With Multiple Outputs:
If a function is required to return multiple values then:
[Variable] AggregateFunction[[Value] for [item] in [collection]]
In this tutorial, we will learn about the Python bytes[] method with the help of examples.
The bytes[]
method returns an immutable bytes object initialized with the given size and data.
Example
message = 'Python is fun'
# convert string to bytes
byte_message = bytes[message, 'utf-8']
print[byte_message]
# Output: b'Python is fun'
bytes[] Syntax
The syntax of bytes[]
method is:
bytes[[source[, encoding[, errors]]]]
bytes[]
method returns a bytes object which is an immutable [cannot be modified]
sequence of integers in the range 0