Convertir cadena en matriz de bytes en Golang

Jay Singh 30 enero 2023
  1. Uso de la función byte() para convertir una cadena en un array de bytes en Golang
  2. Uso de []byte(strToConvert) para convertir una cadena en un array de bytes en Golang
  3. Uso de la función copy() para convertir una cadena en un array de bytes en Golang
  4. Uso de []byte para convertir cadenas en segmentos de bytes en Golang
Convertir cadena en matriz de bytes en Golang

No está solo si es nuevo en Go y se pregunta por qué se trata de un array de bytes. Cuando comencé a aprender a Go, fue una de las primeras cosas que me preguntó un conocido informático.

Obtiene un segmento que contiene los bytes de la cadena cuando convierte una cadena en un array de bytes en Golang. Una cadena en Go es solo un segmento de bytes de solo lectura. Una cadena puede transportar cualquier número de bytes; por lo tanto, es importante decir eso de inmediato.

El texto Unicode, el texto UTF-8 o cualquier otro formato especificado no es necesario. Una cadena es idéntica a una porción de bytes en cuanto a su contenido.

Estos son algunos consejos útiles para trabajar con cadenas en Go.

Uso de la función byte() para convertir una cadena en un array de bytes en Golang

Utilice la función byte() en Golang para convertir una cadena en un array de bytes. Un byte es un entero de 8 bits sin signo. El método byte() devuelve un array, que toma una cadena como entrada.

Cuando crea una cadena, en realidad está creando un array de bytes. Como resultado, puede leer bytes individuales como si fueran un array.

El siguiente código, por ejemplo, itera a través de cada byte en una cadena y lo genera como una cadena y un byte.

package main

import "fmt"

func main() {
	str := "hello boss!"
	data := []byte(str)
	fmt.Println(data)
}

Producción :

[104 101 108 108 111 32 98 111 115 115 33]

Uso de []byte(strToConvert) para convertir una cadena en un array de bytes en Golang

En este ejemplo, utilizaremos []byte(strToConvert) para convertir una cadena en un array de bytes en Golang.

package main

import (
	"fmt"
)

func main() {
	var strToConvert string
	strToConvert = "hello boss!"
	byteString := []byte(strToConvert)
	fmt.Println(byteString)
}

Producción :

[104 101 108 108 111 32 98 111 115 115 33]

Uso de la función copy() para convertir una cadena en un array de bytes en Golang

En este ejemplo, la cadena se copiará en un array de bytes mediante la función copy(). Como resultado, declaramos un array de bytes y copiamos la cadena usando la función de copia.

package main

import (
	"fmt"
)

func main() {
	var strToConvert string
	strToConvert = "hello boss!"
	byteString := make([]byte, len(strToConvert))
	copy(byteString, strToConvert)
	fmt.Println(byteString)
}

Producción :

[104 101 108 108 111 32 98 111 115 115 33]

Uso de []byte para convertir cadenas en segmentos de bytes en Golang

Una cadena se puede convertir en un segmento de bytes []byte en Go, y un segmento de bytes se puede volver a convertir en una cadena. Es un proceso simple que parece ser idéntico a cualquier otro tipo de cambio.

Esta conversión se usa con frecuencia para introducir una cadena en una función que toma segmentos de bytes o un segmento de bytes en una función que espera una cadena.

package main

import "fmt"

func main() {
	var s string = "hello boss!"
	fmt.Println(s)
	var b []byte
	b = []byte(s)
	fmt.Println(b)
	for i := range b {
		fmt.Println(string(b[i]))
	}
	s = string(b)
	fmt.Println(s)
}

Producción :

hello boss!
[104 101 108 108 111 32 98 111 115 115 33]
h
e
l
l
o
 
b
o
s
s
!
hello boss!

Artículo relacionado - Go String