如何在Go中将字符串转换为二进制表示?
示例:
输入:" A"
输出:" 01000001"
在我的测试中,fmt.Sprintf("%b", 75)
仅适用于整数。
答案 0 :(得分:5)
将1个字符的字符串转换为字节以获取其数字表示形式。
s := "A"
st := fmt.Sprintf("%08b", byte(s[0]))
fmt.Println(st)
Output: "01000001"
(请记住代码"%b"(中间没有数字)会导致输出中的前导零被丢弃。)
答案 1 :(得分:5)
你必须遍历字符串的符文:
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())
}
真人游乐场: