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

Bagaimanakah Saya Mengalih Keluar Aksara UTF-8 Tidak Sah daripada Go String?

Linda Hamilton
Lepaskan: 2024-12-09 21:42:11
asal
1027 orang telah melayarinya

How Do I Remove Invalid UTF-8 Characters from a Go String?

Menghapuskan Aksara UTF-8 Tidak Sah dalam Rentetan dalam Go

Mengekod/menyahkod data menggunakan UTF-8 memastikan keserasian merentas sistem dan aksara yang berbeza set. Walau bagaimanapun, aksara UTF-8 yang tidak sah boleh timbul disebabkan oleh ralat penghantaran, serangan berniat jahat atau faktor lain. Mengalih keluar aksara ini adalah penting untuk integriti data dan pengekodan JSON yang betul.

Penyelesaian:

Untuk menangani isu ini dalam Go, terdapat beberapa pendekatan yang tersedia:

  1. Go 1.13 :

    • Dalam Go 1.13 dan versi yang lebih baru, fungsi string.ToValidUTF8 menyediakan penyelesaian yang mudah. Ia memerlukan rentetan dan aksara gantian sebagai argumen dan mengembalikan salinan rentetan dengan aksara UTF-8 yang tidak sah digantikan dengan aksara yang ditentukan.
    • Contoh:

      fixedString := strings.ToValidUTF8("a\xc5z", "")
      Salin selepas log masuk
  2. Pergi 1.11 :

    • Dalam Go 1.11 dan versi yang lebih baru, anda boleh menggunakan fungsi strings.Map bersama-sama dengan utf8.RuneError untuk mengalih keluar aksara UTF-8 yang tidak sah. Fungsi strings.Map menggunakan fungsi pemetaan pada setiap aksara dalam rentetan dan utf8.RuneError ialah pemalar yang mewakili rune UTF-8 yang tidak sah.
    • Contoh:

      fixUtf := func(r rune) rune {
          if r == utf8.RuneError {
              return -1
          }
          return r
      }
      
      fixedString := strings.Map(fixUtf, "a\xc5z")
      Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Mengalih Keluar Aksara UTF-8 Tidak Sah daripada Go String?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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