Heim  >  Artikel  >  Backend-Entwicklung  >  Golang-Byte-Konvertierung

Golang-Byte-Konvertierung

WBOY
WBOYOriginal
2023-05-19 10:02:06577Durchsuche

Der Bytetyp in Golang ist ein sehr wichtiger Datentyp, der zum Speichern von 8-Bit-Binärdaten verwendet wird. In vielen Fällen müssen wir den Bytetyp konvertieren, damit die Datenverarbeitung und -operation bequemer durchgeführt werden kann. In diesem Artikel wird erläutert, wie Sie eine Bytekonvertierung durchführen.

  1. Byte in String konvertieren

In Golang können Sie die Funktion string() verwenden, um den Bytetyp in einen String umzuwandeln. Beispiele sind wie folgt:

package main

import "fmt"

func main() {
    b := []byte{'h','e','l','l','o'}
    s := string(b)
    fmt.Println(s)  // 输出为 "hello"
}
  1. String in Byte konvertieren

Sie können auch die Funktion []byte() verwenden, um String in Byte umzuwandeln Typ. Ein Beispiel ist wie folgt:

package main

import "fmt"

func main() {
    s := "hello"
    b := []byte(s)
    fmt.Println(b)  // 输出为 [104 101 108 108 111]
}
  1. byte to int

Wir können die Funktion int() verwenden, um den Bytetyp in eine Ganzzahl umzuwandeln Typ. Ein Beispiel lautet wie folgt:

package main

import "fmt"

func main() {
    b := byte(255)
    i := int(b)
    fmt.Println(i)  // 输出为 255
}

Es ist zu beachten, dass der Wertebereich des Bytetyps 0 bis 255 beträgt. Werte außerhalb dieses Bereichs führen zu Laufzeitausnahmen.

  1. int in Byte

Wir können die Funktion byte() verwenden, um den Integer-Typ in den Byte-Typ umzuwandeln. Ein Beispiel lautet wie folgt:

package main

import "fmt"

func main() {
    i := 255
    b := byte(i)
    fmt.Println(b)  // 输出为 255
}

Es ist zu beachten, dass nur die unteren 8 Bits verwendet werden, wenn der Wert des Integer-Typs den Wertebereich des Byte-Typs überschreitet.

  1. Byte-Array in uint16 konvertieren

In Golang können wir dies tun, indem wir zwei aufeinanderfolgende Elemente des Byte-Arrays in ein Make vom Typ uint16 zusammenfügen die Konvertierung. Ein Beispiel lautet wie folgt:

package main

import "fmt"

func main() {
    b := []byte{0x12, 0x34}
    u := uint16(b[0])<<8 + uint16(b[1])
    fmt.Println(u)  // 输出为 4660
}

Es ist zu beachten, dass beim Konvertierungsprozess auf die Bytereihenfolge (Big Endian oder Little Endian) geachtet werden muss.

  1. Konvertieren Sie uint16 in ein Byte-Array.

Sie können auch den Typ []byte verwenden, um den Typ uint16 in ein Byte-Array zu konvertieren. Ein Beispiel lautet wie folgt:

package main

import "fmt"

func main() {
    u := uint16(4660)
    var b = make([]byte, 2)
    b[0] = byte(u >> 8)
    b[1] = byte(u)
    fmt.Println(b)  // 输出为 [18 52]
}

Es ist zu beachten, dass beim Konvertierungsprozess auch das Problem der Bytereihenfolge berücksichtigt werden muss.

Zusammenfassung

Dieser Artikel stellt die Konvertierung des Byte-Typs vor und behandelt die Konvertierung zwischen Byte und String, Byte und Int, Byte-Array und uint16. In der tatsächlichen Entwicklung kommt es häufig zu einer Bytetypkonvertierung. Die Beherrschung der oben genannten Konvertierungsmethoden kann die Datenverarbeitung und -berechnung komfortabler machen.

Das obige ist der detaillierte Inhalt vonGolang-Byte-Konvertierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Golang-Set-SpracheNächster Artikel:Golang-Set-Sprache