golangのバイト変換
Golang のバイト型は、8 ビットのバイナリ データを格納するために使用される非常に重要なデータ型です。多くの場合、データ処理や操作をより便利に実行できるように、バイト型を変換する必要があります。この記事ではバイト変換を行う方法を紹介します。
- バイトを文字列に変換する
Golang では、string() 関数を使用してバイト型を文字列に変換できます。例は次のとおりです。
package main import "fmt" func main() { b := []byte{'h','e','l','l','o'} s := string(b) fmt.Println(s) // 输出为 "hello" }
- 文字列をバイト型に変換
[]byte() 関数を使用して文字列をバイト型に変換することもできます。例は次のとおりです。
package main import "fmt" func main() { s := "hello" b := []byte(s) fmt.Println(b) // 输出为 [104 101 108 108 111] }
- バイトから int への変換
int() 関数を使用して、バイト型を整数型に変換できます。例は次のとおりです:
package main import "fmt" func main() { b := byte(255) i := int(b) fmt.Println(i) // 输出为 255 }
バイト型の値の範囲は 0 ~ 255 であり、この範囲外の値は実行時例外を生成します。
- int を byte に変換
byte() 関数を使用して、整数型をバイト型に変換できます。例は次のとおりです。
package main import "fmt" func main() { i := 255 b := byte(i) fmt.Println(b) // 输出为 255 }
整数型の値がバイト型の値の範囲を超える場合、下位 8 ビットのみが取得されることに注意してください。
- バイト配列を 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 }
変換プロセス中はバイト順序 (ビッグ エンディアンまたはリトル エンディアン) に注意する必要があることに注意してください。
- 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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











この記事では、Goのパッケージインポートメカニズム:名前付きインポート(例:インポート "fmt&quot;)および空白のインポート(例:_&quot; fmt&quot;)について説明しています。 名前付きインポートはパッケージのコンテンツにアクセス可能になり、空白のインポートはtのみを実行します

この記事では、MySQLクエリの結果をGO structスライスに効率的に変換することを詳しく説明しています。 データベース/SQLのスキャン方法を使用して、手動で解析することを避けて強調しています。 DBタグとロブを使用した構造フィールドマッピングのベストプラクティス

この記事では、Webアプリケーションでのページ間データ転送のためのBeegoのnewflash()関数について説明します。 newflash()を使用して、コントローラー間で一時的なメッセージ(成功、エラー、警告)を表示し、セッションメカニズムを活用することに焦点を当てています。 リミア

この記事では、ユニットテストのためにGOのモックとスタブを作成することを示しています。 インターフェイスの使用を強調し、模擬実装の例を提供し、模擬フォーカスを維持し、アサーションライブラリを使用するなどのベストプラクティスについて説明します。 articl

この記事では、GENICSのGOのカスタムタイプの制約について説明します。 インターフェイスがジェネリック関数の最小タイプ要件をどのように定義するかを詳しく説明し、タイプの安全性とコードの再利用性を改善します。 この記事では、制限とベストプラクティスについても説明しています

この記事では、goで効率的なファイルの書き込みを詳しく説明し、os.writefile(小さなファイルに適している)とos.openfileおよびbuffered write(大規模ファイルに最適)と比較します。 延期エラー処理、Deferを使用し、特定のエラーをチェックすることを強調します。

この記事では、GOでユニットテストを書くことで、ベストプラクティス、モッキングテクニック、効率的なテスト管理のためのツールについて説明します。

この記事では、トレースツールを使用してGOアプリケーションの実行フローを分析します。 手動および自動計装技術について説明し、Jaeger、Zipkin、Opentelemetryなどのツールを比較し、効果的なデータの視覚化を強調しています
