2013-10-23 3 views

답변

2

나는 이러한 기능을 알지 못하지만, 그 목적으로 strconv.FormatUint을 사용할 수 있습니다.

예 (on play는) :

func Bits(i uint64) []byte { 
    bits := []byte{} 

    for _, b := range strconv.FormatUint(i, 2) { 
     bits = append(bits, byte(b - rune('0'))) 
    } 

    return bits 
} 

FormatUint이 경우 2,베이스에 주어진 uint의 문자열 표현을 반환합니다, 그래서 우리는 바이너리를 인코딩하고 있습니다. 따라서 i=2의 반환 문자열은 "10"입니다. 바이트 수는 [49 48]이고 1은 49이고 0은 48 ASCII 및 유니 코드입니다. 따라서 문자열을 반복하여 각 룬 (유니 코드 문자)에서 48을 뺀 바이트로 변환하면됩니다.