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!