首頁  >  文章  >  後端開發  >  golang 轉16進制

golang 轉16進制

WBOY
WBOY原創
2023-05-13 09:08:363016瀏覽

Golang 語言是一種效率高、語法簡潔的程式語言,在開發中經常有需要將資料轉換成16 進制的需求,本篇文章就介紹一下在Golang 中如何將資料轉換成16 進制。

  1. 基本概念

在電腦程式設計中,16 進位(Hexadecimal)是一種基數為16 的數字系統,它使用16 個不同的數字來表示數值。這些數字包括 0-9,以及 A-F,其中A表示10,B表示11,以此類推,直到F表示15。在 Golang 中,我們可以透過 strconv 套件中的函數將資料轉換成 16 進位。

  1. 轉換字串為16進位

在 Golang 中,我們可以使用 strconv 套件中的函數將字串轉換成 16 進位。以下是一個簡單的範例:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "hello, world"
    hex := fmt.Sprintf("%x", str)
    fmt.Println(hex) //68656c6c6f2c20776f726c64
}

透過 fmt.Sprintf 函數將字串轉換成 16 進制,並存入變數 hex 中,然後透過 fmt 套件中的 Println 函數列印出來。要注意的是,此方式轉換出來的 16 進位是每個位元組表示成 16 進制,所以 hello, world 轉成的 16 進位有 14 個字元。

  1. 轉換數字為16進位

在 Golang 中,我們可以使用 strconv 套件中的函數將數字轉換成 16 進位。以下是一個簡單的範例:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    num := 255
    hex := strconv.FormatInt(int64(num), 16)
    fmt.Println(hex) //ff
}

透過 strconv 套件中的 FormatInt 函數將數字轉換成 16 進制,並存入變數 hex 中,然後透過 fmt 套件中的 Println 函數列印出來。需要注意的是,此方式轉換出來的 16 進位是不帶前綴的。

  1. 位元組轉16進位

在 Golang 中,我們可以使用 encoding/hex 套件中的函數將位元組轉換成 16 進位。以下是一個簡單的範例:

package main

import (
    "encoding/hex"
    "fmt"
)

func main() {
    data := []byte{255, 0, 1, 2}
    hex := hex.EncodeToString(data)
    fmt.Println(hex) //ff000102
}

透過 encoding/hex 套件中的 EncodeToString 函數將位元組轉換成 16 進制,並存入變數 hex 中,然後透過 fmt 套件中的 Println 函數列印出來。需要注意的是,此方式轉換出來的 16 進位是每個位元組表示成 16 進位。

  1. 結語

本文介紹了在Golang 中將資料轉換成16 進位的方法,包括將字串、數字、位元組分別轉換成16 進制。掌握這些方法,我們可以更方便地在開發中使用 16 進位。

以上是golang 轉16進制的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn