Rumah > pembangunan bahagian belakang > Golang > byte 转string golang

byte 转string golang

WBOY
Lepaskan: 2023-05-10 13:24:39
asal
1427 orang telah melayarinya

Di Golang, jenis bait ialah jenis data primitif, biasanya digunakan untuk mewakili data bait tunggal, seperti strim bait, fail, dsb. Jenis rentetan ialah jenis komposit yang digunakan untuk mewakili rentetan. Apabila kita perlu menukar data jenis bait kepada jenis rentetan, kita boleh menggunakan fungsi penukaran dalam pustaka standard Golang.

1. Dua cara untuk menukar bait kepada rentetan

Dalam Golang, terdapat dua cara untuk menukar tatasusunan bait kepada jenis rentetan, iaitu menggunakan pakej strconv dan menggunakan kaedah string().

  1. Gunakan pakej strconv

Pakej strconv ialah salah satu perpustakaan standard untuk penukaran jenis dalam Golang Fungsi string() boleh menukar tatasusunan bait kepada jenis rentetan. . Penggunaannya adalah seperti berikut:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    bytes := []byte{97, 98, 99, 100, 101} // a b c d e
    str := string(bytes)
    fmt.Println("str: ", str) // 输出:str: abcde

    str2 := strconv.Itoa(12345)
    fmt.Println("str2: ", str2) // 输出:str2: 12345
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan tatasusunan jenis bait, menukarnya menjadi str pembolehubah jenis rentetan dan mengeluarkan nilainya. Selain itu, kami menggunakan fungsi Itoa() daripada pakej strconv untuk menukar jenis integer kepada jenis rentetan dan mengeluarkan nilainya.

  1. Gunakan kaedah rentetan()

Di Golang, jenis rentetan itu sendiri sebenarnya jenis pembungkusan tatasusunan bait, jadi kaedah rentetan() boleh digunakan untuk menukar tatasusunan bait kepada String. Penggunaannya adalah seperti berikut:

package main

import (
    "fmt"
)

func main() {
    bytes := []byte{97, 98, 99, 100, 101} // a b c d e
    str := string(bytes)
    fmt.Println("str: ", str) // 输出:str: abcde
}
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, kami juga mentakrifkan tatasusunan jenis bait, menukarnya menjadi str pembolehubah jenis rentetan dan mengeluarkan nilainya. Kaedah string() digunakan di sini untuk penukaran.

2. Penukaran antara tatasusunan bait dan rentetan

Selain menukar data bait individu kepada rentetan, kami juga boleh menukar tatasusunan yang mengandungi data berbilang bait kepada rentetan.

  1. Tatasusunan bait kepada rentetan

Untuk menukar tatasusunan bait kepada rentetan, anda boleh menggunakan dua kaedah yang diperkenalkan di atas Kod ini dilaksanakan seperti berikut:

rreee
  1. String to byte array

Untuk menukar rentetan kepada tatasusunan bait, anda perlu menggunakan fungsi []bait() dalam pustaka standard Golang. Penggunaannya adalah seperti berikut:

package main

import (
    "fmt"
)

func main() {
    bytes := []byte{97, 98, 99, 100, 101} // a b c d e
    str := string(bytes)
    fmt.Println("str: ", str) // 输出:str: abcde
}
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, kita mula-mula mentakrifkan pembolehubah rentetan, menukarnya menjadi tatasusunan bait dan mengeluarkan nilainya.

3. Langkah berjaga-jaga

Dalam proses menggunakan bait ke rentetan, anda perlu memberi perhatian kepada isu berikut:

  1. Aksara Cina

Memandangkan aksara Cina mungkin menduduki berbilang bait, apabila menukar tatasusunan bait kepada rentetan, anda perlu menentukan format pengekodan tatasusunan bait. Contohnya, di bawah pengekodan UTF-8, aksara Cina biasanya menduduki 3 bait. Oleh itu, anda perlu memberi perhatian kepada format pengekodan dan panjang aksara semasa proses penukaran.

  1. Panjang rentetan asal dan rentetan baharu

Apabila menggunakan kaedah rentetan() untuk penukaran, anda perlu memberi perhatian kepada panjang rentetan asal dan rentetan baharu Jika rentetan asal mengandungi aksara NULL ('.

Atas ialah kandungan terperinci byte 转string golang. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan