为了账号安全,请及时绑定邮箱和手机立即绑定

在 Go 中将字符串转换为二进制

在 Go 中将字符串转换为二进制

Go
炎炎设计 2021-11-08 16:51:50
在 Go 中如何将字符串转换为其二进制表示?例子:输入:“A”输出:“01000001”在我的测试中,fmt.Sprintf("%b", 75)只适用于整数。
查看完整描述

2 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

将 1 个字符的字符串转换为一个字节以获得其数字表示。


s := "A"

st := fmt.Sprintf("%08b", byte(s[0]))

fmt.Println(st)


Output:  "01000001"

(请记住代码“%b”(中间没有数字)会导致输出中的前导零被删除。)


查看完整回答
反对 回复 2021-11-08
?
GCT1015

TA贡献1827条经验 获得超4个赞

您必须遍历字符串的符文:


func toBinaryRunes(s string) string {

    var buffer bytes.Buffer

    for _, runeValue := range s {

        fmt.Fprintf(&buffer, "%b", runeValue)

    }

    return fmt.Sprintf("%s", buffer.Bytes())

}

或超过字节:


func toBinaryBytes(s string) string {

    var buffer bytes.Buffer

    for i := 0; i < len(s); i++ {

        fmt.Fprintf(&buffer, "%b", s[i])

    }

    return fmt.Sprintf("%s", buffer.Bytes())

}

现场游乐场:


http://play.golang.org/p/MXZ1Y17xWa


查看完整回答
反对 回复 2021-11-08
  • 2 回答
  • 0 关注
  • 642 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信