Bill Allen wrote:
I have found that there are a couple of ways to convert a byte array to a
string in Python.   Is there any advantage or disadvantage to either method?

my_bytes = b'this is a test'

str(my_bytes,'utf-8')   yields 'this is a test'
my_bytes.decode('utf-8';)   yeilds 'this is a test'

Not so far as I know. The decode method is a *tiny* bit faster:

>>> from timeit import Timer
>>> t1 = Timer("str(my_bytes,'utf-8')", "my_bytes = b'this is a test'")
>>> t2 = Timer("my_bytes.decode('utf-8')", "my_bytes = b'this is a test'")
>>> min(t1.repeat())
0.670975923538208
>>> min(t2.repeat())
0.5184659957885742

Those figures are in seconds, for one million calls. So the actual speed difference is about 0.1 of a microsecond, almost always too trivial to care about.




--
Steven
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to