在 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”(中间没有数字)会导致输出中的前导零被删除。)
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
- 2 回答
- 0 关注
- 642 浏览
添加回答
举报
0/150
提交
取消