Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menukar Teks ANSI ke UTF-8 dalam Go?

Bagaimana untuk Menukar Teks ANSI ke UTF-8 dalam Go?

Patricia Arquette
Lepaskan: 2024-11-26 13:48:10
asal
794 orang telah melayarinya

How to Convert ANSI Text to UTF-8 in Go?

Menukar Teks ANSI kepada UTF-8 dalam Go

Dalam Go, semua rentetan disimpan dalam format UTF-8. Walau bagaimanapun, anda mungkin menghadapi situasi di mana anda perlu menukar teks ANSI, yang menggunakan pengekodan aksara yang berbeza, kepada UTF-8. Begini cara anda boleh mencapai ini:

Mengikut spesifikasi bahasa Go, semua rentetan dikendalikan sebagai UTF-8 secara dalaman. Oleh itu, tidak ada keperluan untuk penukaran eksplisit. Jika anda mempunyai tatasusunan bait yang mewakili teks ANSI, anda hanya boleh menggunakan coretan berikut untuk menukarnya kepada rentetan Go:

import (
    "bytes"
    "unicode/utf8"
)

func convertANSItoUTF8(ansiBytes []byte) string {
    reader := bytes.NewReader(ansiBytes)
    decoder := utf8.RuneReader(reader)

    var utf8String []rune
    for {
        r, size, err := decoder.ReadRune()
        if err != nil {
            break
        }
        utf8String = append(utf8String, r)
    }

    return string(utf8String)
}
Salin selepas log masuk

Fungsi ini menggunakan fungsi utf8.RuneReader untuk lelaran ke atas bait ANSI dan menukar mereka kepada rune UTF-8. Rune kemudiannya dilampirkan pada kepingan, yang akhirnya ditukar kepada rentetan UTF-8.

Nota: Fungsi ini menganggap bahawa input ANSI adalah sah. Jika terdapat sebarang jujukan yang tidak sah, gelagat fungsi tersebut tidak ditentukan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Teks ANSI ke UTF-8 dalam Go?. 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