Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar Pasangan Pengganti kepada Rentetan Biasa dalam Python?

Bagaimana untuk Menukar Pasangan Pengganti kepada Rentetan Biasa dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-11-04 06:18:29998semak imbas

How to Convert Surrogate Pairs to Normal Strings in Python?

Menukar Pasangan Pengganti kepada Rentetan Biasa dalam Python

Soalan ini mencari kaedah untuk mengubah rentetan Unicode Python yang mengandungi pasangan pengganti kepada rentetan standard perwakilan. Matlamatnya adalah untuk mendapatkan aksara Unicode yang boleh difahami atau format perenambelasan piawai.

Coretan kod yang disediakan membentangkan rentetan Python yang termasuk pasangan pengganti yang mewakili emoji:

<code class="python">emoji = "This is \ud83d\ude4f, an emoji."</code>

Untuk menyelesaikan masalah isu, adalah penting untuk membezakan antara rentetan pasangan pengganti literal dalam fail JSON pada cakera (enam aksara) dan rentetan pasangan pengganti aksara tunggal dalam ingatan (satu aksara).

Jika rentetan itu ialah aksara tunggal pasangan pengganti yang terdapat dalam kod sumber Python (seperti contoh yang disediakan), ia menunjukkan potensi pepijat di hulu. Jika ini ditemui dan tidak dapat diselesaikan, pengendali ralat laluan pengganti boleh digunakan:

<code class="python">"\ud83d\ude4f".encode('utf-16', 'surrogatepass').decode('utf-16')</code>

Ini akan mengeluarkan aksara Unikod yang sepadan, diwakili sebagai tanda tanya (?):

'?'

Dalam kes rentetan pasangan pengganti literal dalam fail JSON pada cakera, pasangan pengganti tidak seharusnya hadir selepas memuatkan data JSON:

<code class="python">ascii(json.loads(r'"\ud83d\ude4f"'))</code>

Ini akan mengeluarkan format heksadesimal piawai untuk aksara Unikod :

'\U0001f64f'

Memahami perbezaan ini adalah penting untuk mengendalikan pasangan pengganti dalam Python dan menukarnya kepada format yang boleh digunakan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Pasangan Pengganti kepada Rentetan Biasa 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