求助,golang怎样二进制转十六进制和十六进制转二进制

Python014

求助,golang怎样二进制转十六进制和十六进制转二进制,第1张

//二进制转十六进制

func btox(b string) string {

    base, _ := strconv.ParseInt(b, 2, 10)

    return strconv.FormatInt(base, 16)

}

//十六进制转二进制

func xtob(x string) string {

    base, _ := strconv.ParseInt(x, 16, 10)

    return strconv.FormatInt(base, 2)

}

func ByteToBinaryString(data byte) (str string) {

var a byte

for i:=0i <8i++ {

a = data

data <<= 1

data >>= 1

switch (a) {

case data: str += "0"

default: str += "1"

}

data <<= 1

}

return str

}

//该代码片段来自于: http://www.sharejs.com/codes/go/4357

使用方法package main

import . "fmt"

func main() {

Printf("[%s][%s][%s][%s]\n",

ByteToBinaryString(byte(0)),ByteToBinaryString(byte(231)),

ByteToBinaryString(byte(168)), ByteToBinaryString(byte(162)))

}