猿问

Golang:如何将字符串转换为二进制表示

在golang中,如何将字符串转换为二进制字符串?示例:“CC”变为 10000111000011


SMILET
浏览 878回答 3
3回答

千万里不及你

这是一个简单的方法:func stringToBin(s string) (binString string) {    for _, c := range s {        binString = fmt.Sprintf("%s%b",binString, c)    }    return }正如我在对另一个答案的评论中包含的那样,您还可以使用变体"%s%.8b",如果您需要或想要表示 8 位,它将用前导零填充字符串......但是,如果您的角色需要大于 8 位,这将没有任何区别表示,如希腊字符:Φ 1110100110λ 1110111011μ 1110111100或者这些数学符号打印 14 位:≠ 10001001100000⊂ 10001010000010⋅ 10001011000101所以请注意:这里的示例是一个简单的演示,它满足原始帖子中的标准,而不是使用 Unicode 代码点的 base2 表示的可靠方法。

翻翻过去那场雪

首先,“CC”的二进制表示是“0100001101000011”,你必须注意前导0,否则你的字符串可以通过多种不同的方式获得。func binary(s string) string {    res := ""    for _, c := range s {        res = fmt.Sprintf("%s%.8b", res, c)    }    return res}这会产生所需的输出:`binary("CC") = "0100001101000011"。

Cats萌萌

另一种方法func strToBinary(s string, base int) []byte {    var b []byte    for _, c := range s {        b = strconv.AppendInt(b, int64(c), base)    }    return b}
随时随地看视频慕课网APP

相关分类

Go
我要回答