ホームページ  >  記事  >  バックエンド開発  >  golangのバイト変換

golangのバイト変換

WBOY
WBOYオリジナル
2023-05-19 10:02:06576ブラウズ

Golang のバイト型は、8 ビットのバイナリ データを格納するために使用される非常に重要なデータ型です。多くの場合、データ処理や操作をより便利に実行できるように、バイト型を変換する必要があります。この記事ではバイト変換を行う方法を紹介します。

  1. バイトを文字列に変換する

Golang では、string() 関数を使用してバイト型を文字列に変換できます。例は次のとおりです。

package main

import "fmt"

func main() {
    b := []byte{'h','e','l','l','o'}
    s := string(b)
    fmt.Println(s)  // 输出为 "hello"
}
  1. 文字列をバイト型に変換

[]byte() 関数を使用して文字列をバイト型に変換することもできます。例は次のとおりです。

package main

import "fmt"

func main() {
    s := "hello"
    b := []byte(s)
    fmt.Println(b)  // 输出为 [104 101 108 108 111]
}
  1. バイトから int への変換

int() 関数を使用して、バイト型を整数型に変換できます。例は次のとおりです:

package main

import "fmt"

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

バイト型の値の範囲は 0 ~ 255 であり、この範囲外の値は実行時例外を生成します。

  1. int を byte に変換

byte() 関数を使用して、整数型をバイト型に変換できます。例は次のとおりです。

package main

import "fmt"

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

整数型の値がバイト型の値の範囲を超える場合、下位 8 ビットのみが取得されることに注意してください。

  1. バイト配列を uint16 に変換する

Golang では、バイト配列の 2 つの連続する要素を結合して uint16 型に変換できます。例は次のとおりです。

package main

import "fmt"

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

変換プロセス中はバイト順序 (ビッグ エンディアンまたはリトル エンディアン) に注意する必要があることに注意してください。

  1. uint16 をバイト配列に変換する

[]byte 型を使用して uint16 型をバイト配列に変換することもできます。例は次のとおりです。

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]
}

変換プロセスではバイト順序の問題にも注意する必要があることに注意してください。

概要

この記事では、バイト型を変換する方法を紹介し、バイトと文字列、バイトと整数、バイト配列と uint16 の間の変換を扱います。実際の開発ではバイト型の変換が頻繁に発生しますが、上記の変換方法をマスターするとデータの加工や計算がより便利になります。

以上がgolangのバイト変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:golang の言語設定次の記事:golang の言語設定