Rumah >pembangunan bahagian belakang >C++ >Bagaimana cara mengekod dan menyahkod aksara unicode dalam melarikan diri ASCII?

Bagaimana cara mengekod dan menyahkod aksara unicode dalam melarikan diri ASCII?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-28 05:01:09368semak imbas

How to Encode and Decode Unicode Characters in Escaped ASCII?

Unicode dan melarikan diri ASCII: pengekodan dan penyahkodan

Banyak tugas pengaturcaraan memerlukan pengendalian aksara Unicode. Keperluan yang sama menukarkan unicode ke setara yang dilepaskan ASCII, memudahkan penyimpanan data dan penghantaran. Ini melibatkan menggantikan watak-watak bukan ascii dengan urutan melarikan diri Unicode mereka (mis., "Uxxxx").

pengekodan unicode untuk melarikan diri ASCII:

Proses ini dapat dicapai dengan menggunakan algoritma mudah:

<code class="language-csharp">static string EncodeUnicodeToAscii(string input)
{
    StringBuilder result = new StringBuilder();
    foreach (char c in input)
    {
        if (c > 127) // Check for non-ASCII characters
        {
            result.Append("\u" + ((int)c).ToString("x4")); // Append escape sequence
        }
        else
        {
            result.Append(c); // Append ASCII characters directly
        }
    }
    return result.ToString();
}</code>
Fungsi ini melangkah melalui rentetan Unicode. Watak-watak bukan ASCII (mereka yang mempunyai nilai yang lebih besar daripada 127) ditukar kepada urutan melarikan diri heksadesimal mereka. Watak ASCII kekal tidak berubah.

penyahkodan melarikan diri dari ASCII ke Unicode:

penyahkodan melarikan diri ASCII kembali ke Unicode melibatkan strategi yang berbeza:

<code class="language-csharp">static string DecodeAsciiToUnicode(string input)
{
    return Regex.Replace(input, @"\u(?<value>[a-fA-F0-9]{4})", match =>
    {
        return ((char)int.Parse(match.Groups["value"].Value, NumberStyles.HexNumber)).ToString();
    });
}</code>
Fungsi ini menggunakan ungkapan biasa untuk mencari urutan "UXXXX". Ia mengekstrak nilai heksadesimal, mengasingkannya sebagai integer, dan menukarkannya kepada bersamaan watak Unicode. Output adalah rentetan unicode asal.

Kaedah ini menyediakan pengekodan dan penyahkodan yang cekap antara Unicode dan melarikan diri dari perwakilan ASCII, memastikan pengendalian watak khas yang betul dalam pelbagai aplikasi.

Atas ialah kandungan terperinci Bagaimana cara mengekod dan menyahkod aksara unicode dalam melarikan diri ASCII?. 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