首页 > 后端开发 > Golang > golang 转16进制

golang 转16进制

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2023-05-13 09:08:36
原创
3102 人浏览过

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板