我正在尝试在 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 可以选择多个答案。感谢大家回答我,祝你有美好的一天!
2 回答
BIG阳
TA贡献1859条经验 获得超6个赞
您可以ParseInt从strconv包中使用。
ParseInt 解释给定基数(2 到 36)中的字符串 s 并返回相应的值 i。如果基数 == 0,则基数由字符串的前缀隐含:基数 16 表示“0x”,基数 8 表示“0”,否则基数 10。
package main
import (
"fmt"
"strconv"
)
func main() {
start := "a"
result, err := strconv.ParseInt(start, 16, 0)
if err != nil {
panic(err)
}
fmt.Printf("%x", result+1)
}
- 2 回答
- 0 关注
- 240 浏览
添加回答
举报
0/150
提交
取消