<html><span style="color: gray;"></span>On Sun, Nov 16, 2008 at 4:31 PM,
Chris Rebert &lt;cvrebert@gmail.com&gt;: wrote:<br>
&gt;&gt; Hello,<br>
&gt;&gt;<br>
&gt;&gt; I recently changed from Python 2.5 to Python 3.0 rc2, and have<br>
<font size="3"><span style="font-family: Times New
Roman;"></span></font>&gt;&gt; been trying to find out how to convert byte
strings (b"example")<br>
&gt;&gt; to unicode strings ("example").  I noticed that some of these
had<br>
&gt;&gt; changed in the latest version.<br>
&gt;&gt;<br>
&gt;&gt; One reason for a conversion between the two is the
urllib.request.urlopen()<br>
&gt;&gt; feature, which requires the string to be unicode rather than
bytes, or else<br>
&gt;&gt; you would receive an AttributeError error about 'bytes' object
having no<br>
&gt;&gt; attribute 'timeout'.  The read() attribute of the
urllib.request.urlopen()<br>
&gt;&gt; function returns a byte string, which means I can't parse for
information<br>
&gt;&gt; in the bytes string to use in a second urllib.request.urlopen()
function<br>
&gt;&gt; unless<br>
&gt;&gt; it was to be converted to unicode first.<br>
&gt;&gt;<br>
&gt;&gt; Am I simply overlooking something, or is there a built in function
for<br>
&gt;&gt; converting bytes to unicode?  It seems like a function could be
created<br>
&gt;&gt; pretty easily if it has already not, but there isn't much sense
in<br>
&gt;&gt; reinventing the wheel if the function is already there.<br>
&gt;&gt;<br>
&gt;&gt; Thanks for your help.<font size="3"><span style="font-family:
Times New Roman;"><br>
&gt;</span></font><br>
&gt;Already exists. Has for quite a while now:<br>
<font size="3"><span style="font-family: Times New
Roman;">&gt;</span></font><br>
&gt;the_unicode = unicode(some_bytes, "name of encoding")<br>
<font size="3"><span style="font-family: Times New
Roman;">&gt;</span></font><br>
&gt;Cheers,<br>
&gt;Chris<br>
&gt;-- <br>
&gt;Follow the path of the Iguana...<br>
<a href="http://rebertia.com">&gt;http://rebertia.com</a><font
size="3"><span style="font-family: Times New Roman;"><br>
</span></font><font size="3"><span style="font-family: Times New
Roman;"></span></font><font size="3"><span style="font-family: Times New
Roman;"><br>
I know that it had worked in the version 2.5, Python 3.0 rc2 doesn't<br>
seem to recognize it as a function.<br>
<br>
Python 3.0rc2 (r30rc2:67141, Nov&nbsp; 7 2008, 11:43:46) [MSC v.1500 32 bit
(Intel)]<br>
on win32<br>
Type "help", "copyright", "credits" or "license" for more information.<br>
&gt;&gt;&gt; unicode()<br>
Traceback (most recent call last):<br>
&nbsp; File "&lt;stdin&gt;", line 1, in &lt;module&gt;<br>
NameError: name 'unicode' is not defined<br>
<br>
</span></font></html>