Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mengalih Keluar Aksara UTF-8 Tidak Sah dalam Go?

Bagaimanakah Saya Boleh Mengalih Keluar Aksara UTF-8 Tidak Sah dalam Go?

Patricia Arquette
Patricia Arquetteasal
2024-12-14 16:10:17200semak imbas

How Can I Remove Invalid UTF-8 Characters in Go?

Mengalih keluar Aksara UTF-8 Tidak Sah dalam Go

Apabila bekerja dengan data JSON, ada kemungkinan untuk menemui aksara UTF-8 yang tidak sah, yang membawa kepada ralat semasa Marshaling. Isu ini timbul disebabkan oleh kehadiran bait yang tidak mematuhi pengekodan UTF-8.

Mengendalikan Aksara UTF-8 Tidak Sah

Dalam Go, anda boleh menangani masalah ini dengan mengalih keluar atau menggantikan aksara yang tidak sah menggunakan pelbagai pendekatan:

Go 1.13

strings.ToValidUTF8("a\xc5z", "")

Go 1.11

fixUtf := func(r rune) rune {
    if r == utf8.RuneError {
        return -1
    }
    return r
}

fmt.Println(strings.Map(fixUtf, "a\xc5z"))
fmt.Println(strings.Map(fixUtf, "posic�o"))

Fungsi ini mengalih keluar sebarang aksara UTF-8 yang tidak sah dengan memetakannya kepada nilai negatif, menghasilkan output yang dijangkakan:

az
posico

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Aksara UTF-8 Tidak Sah dalam Go?. 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