2011-06-21 40 views
17

Tôi đang cố gắng mã hóa các ký tự không phải ASCII để tôi có thể đặt chúng vào một url và sử dụng chúng trong urlopen. Vấn đề là tôi muốn có một mã hóa như JavaScript (mà ví dụ mã hóa ó như %C3%B3):Ký tự mã hóa Python với urllib.quote

encodeURIComponent(ó) 
'%C3%B3' 

Nhưng urllib.quote trong lợi nhuận python ó như %F3:

urllib.quote(ó) 
'%F3' 

Tôi muốn biết làm thế nào để đạt được một mã hóa như javascript là encodeURIComponent bằng Python và cũng có thể nếu tôi có thể mã hóa các ký tự không phải là ISO 8859-1 như tiếng Trung. Cảm ơn!

+0

liên quan: http://stackoverflow.com/questions/6338469/how-to-url-safe-encode-a-string -with-python-and-urllib-quote-is-wrong – geoffspear

Trả lời

27

Bạn muốn đảm bảo rằng bạn đang sử dụng unicode.

Ví dụ:

import urllib 

s = u"ó" 
print urllib.quote(s.encode("utf-8")) 

Đầu ra:

%C3%B3

+0

cảm ơn ... nó được giải quyết – Saulpila

Các vấn đề liên quan