【发布时间】:2015-04-23 21:58:12
【问题描述】:
这只是为了以防其他人正在学习 Golang,并且想知道如何从字符串转换为二进制字符串表示。
长话短说,我一直在查看标准库,但找不到正确的调用。所以我从类似于以下内容开始:
func RuneToBinary(r rune) string {
var buf bytes.Buffer
b := []int64{128, 64, 32, 16, 8, 4, 2, 1}
v := int64(r)
for i := 0; i < len(b); i++ {
t := v-b[i]
if t >= 0 {
fmt.Fprintf(&buf, "1")
v = t
} else {
fmt.Fprintf(&buf, "0")
}
}
return buf.String()
}
这一切都很好,但经过几天的环顾后,我发现我应该使用fmt 包,而只需将rune 格式化为%b%:
var r rune
fmt.Printf("input: %b ", r)
有没有更好的方法来做到这一点?
谢谢
【问题讨论】:
标签: string go binary type-conversion