ホームページ  >  記事  >  バックエンド開発  >  バイトから文字列 golang

バイトから文字列 golang

WBOY
WBOYオリジナル
2023-05-10 13:24:391375ブラウズ

Golang では、バイト型はプリミティブ データ型であり、通常はバイト ストリームやファイルなどの単一バイト データを表すために使用されます。文字列型は、文字列を表すために使用される複合型です。バイト型データを文字列型に変換する必要がある場合は、Golang標準ライブラリの変換関数を使用できます。

1. バイトを文字列に変換する 2 つの方法

Golang では、バイト配列を文字列型に変換する 2 つの方法、すなわち strconv パッケージを使用する方法と string() メソッドを使用する方法があります。

  1. strconv パッケージを使用する

strconv パッケージは、Golang の型変換用の標準ライブラリの 1 つで、その中の string() 関数はバイト配列を次のように変換できます。文字列型。使用方法は次のとおりです。

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
}

上記のコードでは、バイト型の配列を定義し、文字列型の変数 str に変換し、その値を出力しています。さらに、strconv パッケージのitoa() 関数を使用して、整数型を文字列型に変換し、その値を出力しました。

  1. string() メソッドを使用する

Golang では、文字列型自体が実際にはバイト配列のパッケージ化型であるため、string() メソッドを使用できます。バイト配列を文字列に変換します。使用方法は次のとおりです。

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
}

上記のコードでは、バイト型の配列も定義し、文字列型の変数 str に変換して、その値を出力しています。ここでは、変換に string() メソッドが使用されます。

2. バイト配列と文字列間の変換

個々のバイト データを文字列に変換することに加えて、複数のバイト データを含む配列を文字列に変換したり、文字列をバイト配列に変換したりすることもできます。

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

バイト配列を文字列に変換するには、上記で紹介した 2 つのメソッドを使用できます。コードの実装は次のとおりです:

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
}
  1. 文字列をバイト配列に変換するには

文字列をバイト配列に変換するには、Golang 標準ライブラリの []byte() 関数を使用する必要があります。使用法は次のとおりです。

package main

import (
    "fmt"
)

func main() {
    str := "hello world"
    bytes := []byte(str)
    fmt.Println("bytes: ", bytes) // 输出:bytes: [104 101 108 108 111 32 119 111 114 108 100]
}

上記のコードでは、まず文字列変数を定義し、それをバイト配列に変換し、その値を出力します。

3. 注意事項

バイトを文字列に変換するプロセスでは、次の問題に注意する必要があります:

  1. 中国語の文字

中国語の文字は複数バイトを占める場合があるため、バイト配列を文字列に変換する場合は、バイト配列のエンコード形式を決定する必要があります。たとえば、UTF-8 エンコードでは、中国語の文字は通常 3 バイトを占めます。したがって、変換プロセスではエンコード形式と文字長に注意する必要があります。

  1. 元の文字列と新しい文字列の長さ

string() メソッドを使用して変換する場合は、元の文字列の長さに注意する必要があります。元の文字列に NULL 文字 ('

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

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