这是以防万一其他人正在学习 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)
有一个更好的方法吗?
慕容森
相关分类