Golang String zu Byte und umgekehrt

Golang String zu Byte und umgekehrt
Wir definieren eine Saite in Go als schreibgeschützte Bytesscheibe. Eine Zeichenfolge kann Unicode-Text in der UTF-8-Codierung oder einem anderen vordefinierten Format halten. Aber da eine Saite im Grunde genommen ein Stück Bytes ist, muss sie solche Typen nicht unbedingt halten.

In diesem Artikel lernen Sie, wie Sie eine Zeichenfolge in ein Byte -Array und ein Byte -Array in eine Zeichenfolge konvertieren. Denken Sie daran, dass dieser Artikel nicht als Einführung in Saiten oder Bytes in Go dient.

String in Byte konvertieren

Bevor wir lernen, wie man eine Schnur in ein Byte umwandelt, lassen Sie uns definieren, was ein Byte ist. Ein Byte bezieht sich auf eine 8-Bit-nicht signierte Ganzzahl. Bytes sind bei der Arbeit mit Scheiben sehr häufig.

In Go können wir eine Zeichenfolge mit der Funktion Byte () in ein Byte konvertieren.

Die Funktionssyntax ist wie gezeigt:

[] Byte (String)

Die Funktion nimmt die Zeichenfolge als Argument. Die Funktion gibt eine Scheibe mit allen Bytes der Zeichen in der angegebenen Zeichenfolge zurück.

Schauen wir uns ein Beispiel an:

Paket Main
importieren "fmt"
func main ()
STR: = "LinuxHint"
byte_arr: = [] byte (str)
fmt.Println (byte_arr)

Im obigen Beispiel definieren wir eine Variable mit dem Namen "STR" mit dem Wert "LinuxHint".

Wir verwenden dann die Byte () -Methode, um die Zeichenfolge in ein Byte -Array umzuwandeln.

Der obige Code gibt eine Ausgabe zurück als:

$ go run string_to_byte.gehen
[76 105 110 117 120 104 105 110 116]

Kopieren Sie die Zeichenfolge in Byte Slice

Wir können auch eine Zeichenfolge in ein Byte konvertieren, indem wir eine Zeichenfolge in eine Byter -Scheibe kopieren. Wir erreichen dies mit der Methode copy ().

Der folgende Code -Snippet zeigt, wie dies erreicht werden kann:

Paket Main
importieren "fmt"
func main ()
copy_string ()

func Copy_string ()
// leere Scheibe
byte_slice: = make ([] byte, 10)
STR: = "LinuxHint"
STR_COPY: = COPY (BYTE_SLICE, STR)
fmt.Println (str_copy)
fmt.Println (byte_slice)

Im obigen Beispiel erstellen wir eine leere Scheibe mit der Make -Funktion.

Wir verwenden dann die Methode copy (), um die Zeichenfolge in die Byte -Slice zu kopieren. Wir können die Anzahl der Bytes sehen, die mit der FMT in die Scheibe kopiert werden.Println (str_copy).

Verwenden Sie die FMT, um die vollständige Zeichenfolge in Bytes anzuzeigen.Println (byte_slice):

Ein Beispielausgang ist wie gezeigt:

9 // Bytes kopiert
[76 105 110 117 120 104 105 110 116 0] // Byte -Slice

Byte in Zeichenfolge konvertieren

Die erste Methode, mit der wir ein Byte -Array in eine Zeichenfolge konvertieren können, ist die Newbuffer () -Methode. Dadurch wird ein neuer Puffer erstellt, und dann können wir die String () -Methode verwenden, wie im folgenden Beispiel gezeigt:

Paket Main
importieren (
"Bytes"
"fmt"
)
func main ()
arr: = [] byte 'l', 'i', 'n', 'u', 'x'
STR: = Bytes.Neuling (arr).String ()
fmt.Println (str)

Wir beginnen damit, ein Byte -Array zu erstellen. Anschließend verwenden wir die Newbuffer () -Methode, um einen neuen Puffer zu erstellen und dann die String () -Methode, um die String -Ausgabe abzurufen.

Die resultierende Funktion lautet wie:

$ go run byte_to_string.gehen
Linux

Byte mit Schneiden in Saiten konvertieren

Eine weitere Technik, mit der wir ein Byte -Array in die Zeichenfolge konvertieren können, ist das Schneiden. Ein Beispiel zeigt, wie diese Methode verwendet wird:

Func Slicing ()
arr: = [] byte 'l', 'i', 'n', 'u', 'x'
STR: = String (arr [:])
fmt.Println (str)

Der obige Code sollte das Byte -Array aufnehmen und in eine Zeichenfolge umwandeln.

Konvertieren Sie das Byte mit der Sprintf () -Methode in String in String

Mit der Sprintf () -Funktion können Sie ein Byte -Array in eine Zeichenfolge konvertieren. Betrachten Sie das unten gezeigte Beispiel:

func Sprintf_method ()
arr: = [] byte 'l', 'i', 'n', 'u', 'x'
STR: = fmt.Sprintf ("%s", arr)
fmt.Println (str)

Die obige Methode sollte das Byte -Array in eine Zeichenfolge konvertieren. Denken Sie daran, dass diese Methode im Vergleich zu anderen Optionen langsamer angesehen wird.

Abschluss

In diesem Leitfaden haben wir die Welt der Go -Programmiersprache untersucht und wie man ein Byte in eine Zeichenfolge umwandelt und umgekehrt.

Glückliche Codierung!