Je ne suis pas sûr à 100% pourquoi ma chaîne binaire en unicode ne fonctionne pas. Peut-on signaler le problème ou m'aider à le patcher? Aussi la raison pour laquelle je découpe le binaire est qu'il est trop grand pour que ParseInt puisse le gérer. Voir le lien du terrain de jeu ci-dessous pour un exemple.Chaîne binaire à unicode
func binToString(s []byte) string {
var counter int
chunk := make([]byte, 7)
var buf bytes.Buffer
for i := range s {
if i%8 == 0 {
counter = 0
if i, err := strconv.ParseInt(string(chunk), 2, 64); err == nil {
buf.WriteString(string(i))
}
} else {
chunk[counter] = s[i] //i know i can use modulus here too but i was testing and an counter was easier to track and test for me
counter++
}
}
return buf.String()
}
Il semble manquer un caractère ou ajouter un caractère (ou deux) lors de la conversion.
Voici un playground link montrant un exemple de la fonction ne fonctionnant pas comme prévu.
Merci et vous avez raison, beaucoup plus efficace. – reticentroot