Bagaimana untuk Menukar Pasangan Pengganti kepada Rentetan Biasa dalam Python?

Linda Hamilton
Lepaskan: 2024-11-04 06:18:29
asal
952 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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

'?'
Salin selepas log masuk

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>
Salin selepas log masuk

Ini akan mengeluarkan format heksadesimal piawai untuk aksara Unikod :

'\U0001f64f'
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!