在Go中将字符串转换为二进制 [英] Convert string to binary in Go

查看:157
本文介绍了在Go中将字符串转换为二进制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在Go中将字符串转换为其二进制表示形式?



示例:


输入:A



输出:01000001

在我的测试中, fmt.Sprintf(%b,75)仅适用于整数。

  func toBinaryRunes(s)>解决方案

你必须迭代字符串的符号:字符串)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 ++ {
fmt.Fprintf(& buffer,%b,s [i])
}
return fmt.Sprintf(%s,buffer.Bytes())

现场:

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


How do you convert a string to its binary representation in Go?

Example:

Input: "A"

Output: "01000001"

In my testing, fmt.Sprintf("%b", 75) only works on integers.

解决方案

You have to iterate over the runes of the string:

func toBinaryRunes(s string) string {
    var buffer bytes.Buffer
    for _, runeValue := range s {
        fmt.Fprintf(&buffer, "%b", runeValue)
    }
    return fmt.Sprintf("%s", buffer.Bytes())
}

Or over the 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())
}

Live playground:

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

这篇关于在Go中将字符串转换为二进制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆