White scenery @showyou, hatena

If you have any comments, you may also send twitter @shsub or @showyou.

URLに日本語が混じってるとエラー

原因と言うかいろいろわからん。

print "b[4]:",b[4]
for s in b[4]:
    print str(ord(s)),

b[4]: http://s3.amazonaws.com/twitter_production/profile_images/68554795/黒うにゅう2_normal.jpg
104 116 116 112 58 47 47 115 51 46 97 109 97 122 111 110 97 119 115 46 99 111 109 47 116 119 105 116 116 101 114 95 112 114 111 100 117 99 116 105 111 110 47 112 114 111 102 105 108 101 95 105 109 97 103 101 115 47 54 56 53 53 52 55 57 53 47 40658 12358 12395 12421 12358 50 95 110 111 114 109 97 108 46 106 112 103

とかいうときに、

imageData = urllib.urlopen(b[4]).read()

ってやるとエラーになる。


いやまあぱっと見てurlencodeとかされてないからダメなのはわかるんだけど、どうもこの文字列、unicodeで保存されてるのかどうかが謎で。どうもASCIIエンコードされてる気がする。一応1文字ずつ切り出してみた結果が二つめの数値の列なんだけど、明らかに0-127じゃないんだよなぁ。


まず、文字列に対して数値を直接突っ込む方法(今の文字列はtwitterのprofileから取ってるけど、これを直接再現する方法)と、この場合のencode/decodeってどうやればいいか、あたりかなぁ。普通に考えればurlencode(b[4])でいい気がするんだが。。
助けてpythonに詳しい人〜(ぉぃ