Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menyahkodkan Rentetan UTF-8 yang Dikodkan URL dalam Python?

Bagaimana untuk Menyahkodkan Rentetan UTF-8 yang Dikodkan URL dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-11-04 01:49:30824semak imbas

How to Decode URL-Encoded UTF-8 Strings in Python?

Menyahkod URL-Dikodkan Rentetan UTF-8 dalam Python

Apabila bekerja dengan URL, anda mungkin menghadapi rentetan yang telah dikodkan menggunakan UTF- 8 dan melarikan diri dengan petikan URL. Untuk mengekstrak data yang betul daripada rentetan ini, anda perlu menyahkodnya.

Dalam Python 2.7, anda boleh menggunakan urllib.unquote() untuk menyahkod data yang dikodkan URL. Walau bagaimanapun, kaedah ini mengembalikan bait, jadi anda perlu menyahkodnya dengan lebih lanjut:

<code class="python">from urllib import unquote

url = unquote(url).decode('utf8')</code>

Dalam Python 3 dan ke atas, pakej urllib telah dibahagikan kepada urllib.request, urllib.parse dan urllib.error. Untuk menyahkod data yang dikodkan URL, anda harus menggunakan urllib.parse.unquote():

<code class="python">from urllib.parse import unquote

url = unquote(url)</code>

Kaedah ini mengendalikan pengekodan URL dan penyahkodan UTF-8, memberikan anda rentetan unikod sebagai hasilnya.

Contohnya:

<code class="python">>>> from urllib.parse import unquote
>>> url = 'example.com?title=%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0'
>>> unquote(url)
'example.com?title=правовая+защита'</code>

Dengan menggunakan urllib.parse.unquote(), anda boleh menyahkod rentetan UTF-8 yang dikodkan URL dengan mudah, memastikan anda memperoleh data yang betul.

Atas ialah kandungan terperinci Bagaimana untuk Menyahkodkan Rentetan UTF-8 yang Dikodkan URL dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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