猿问

Golang 上的十六进制总和

我正在尝试在 Golang 上计算 ASTM 校验和,但无法弄清楚如何将字符串或字节转换为可由我自己和 Google 计算的十六进制。请让我请求帮助,谢谢。


在 Golang,如何将字符转换为可以执行求和的十六进制?


例子:


// Convert character "a" to hex 0x61 ( I understand this will not work for my case as it became a string.)

hex := fmt.Sprintf("%x","a")

// sum the 0x61 with 0x01 so it will become 0x62 = "b"

fmt.Printf("%v",hex + 0x01)

非常感谢你,祝你有美好的一天。


谢谢大家回答我的问题!peterSO和ANisus 的回答都解决了我的问题。请让我选择 ANisus 的回复作为答案,因为其中包含 ASTM 特殊字符。我希望 StackOverflow 可以选择多个答案。感谢大家回答我,祝你有美好的一天!


蝴蝶不菲
浏览 241回答 2
2回答

BIG阳

您可以ParseInt从strconv包中使用。ParseInt 解释给定基数(2 到 36)中的字符串 s 并返回相应的值 i。如果基数 == 0,则基数由字符串的前缀隐含:基数 16 表示“0x”,基数 8 表示“0”,否则基数 10。package mainimport (    "fmt"    "strconv")func main() {    start := "a"    result, err := strconv.ParseInt(start, 16, 0)    if err != nil {        panic(err)    }    fmt.Printf("%x", result+1)}
随时随地看视频慕课网APP

相关分类

Go
我要回答