Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana Mengekodkan Parameter URL Peratusan dengan Betul dalam Python: Menangani Watak Khas dan Isu Unikod?

Bagaimana Mengekodkan Parameter URL Peratusan dengan Betul dalam Python: Menangani Watak Khas dan Isu Unikod?

Linda Hamilton
Lepaskan: 2024-10-27 10:58:01
asal
493 orang telah melayarinya

How to Properly Percent-Encode URL Parameters in Python: Addressing Special Characters and Unicode Issues?

Cara Peratus-Mengekod Parameter URL Dengan Berkesan dalam Python

Apabila cuba mengekod peratus parameter URL menggunakan modul urllib Python, anda mungkin menghadapi isu dengan pengendalian aksara khas dan sokongan Unicode. Untuk menangani cabaran ini, pertimbangkan untuk menggunakan urllib.parse.quote, yang menawarkan fleksibiliti dan fungsi yang lebih besar.

Mengendalikan Watak Khas

Fungsi petikan modul urllib tidak mengekod garis miring ke hadapan ("/") kepada "/," yang boleh mengganggu penormalan OAuth. Untuk membetulkannya, nyatakan rentetan kosong untuk parameter selamat:

<code class="python">import urllib.parse
encoded_parameter = urllib.parse.quote("/test", safe="")
# Output: %2Ftest</code>
Salin selepas log masuk

Menyokong Aksara Unikod

Untuk mengendalikan aksara Unikod, mengekodkannya sebagai UTF-8 sebelum peratus -pengekodan:

<code class="python">unicode_parameter = u"Müller".encode("utf8")
encoded_parameter = urllib.parse.quote(unicode_parameter)
# Output: %C3%9Cller</code>
Salin selepas log masuk

Nyahkod parameter yang dikodkan menggunakan UTF-8:

<code class="python">decoded_parameter = urllib.parse.unquote(encoded_parameter).decode("utf8")
# Output: Müller</code>
Salin selepas log masuk

Alternatif untuk Dipertimbangkan

Pertimbangkan menggunakan urllib.parse .urlencode untuk mengekod berbilang parameter sebagai rentetan pertanyaan. Fungsi ini secara automatik mengekod peratusan parameter dan mengendalikan aksara khas serta sokongan Unicode.

Keserasian Python 2

Untuk Python 2, modul urllib tidak mengendalikan Unicode dengan secukupnya watak. Sebagai penyelesaian, anda boleh mengekodnya sebagai UTF-8 sebelum menggunakan petikan:

<code class="python">query = urllib.quote(u"Müller".encode("utf8"))
# Output: %C3%9Cller</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana Mengekodkan Parameter URL Peratusan dengan Betul dalam Python: Menangani Watak Khas dan Isu Unikod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan