#python #python-3.x #go
#python #python-3.x #Вперед
Вопрос:
В моей компании есть система, написанная на python, и я хочу переопределить ее с помощью golang.
Вопрос
Python binascii.unhexlify
кажется сложным, и я не знаю, как его реализовать в go.
Комментарии:
1. Это просто преобразование из шестнадцатеричного в двоичный. Каждые две шестнадцатеричные цифры — это 8-битный байт (256 возможных значений).
2. @TigerhawkT3 извините,
binascii.unhexlify
это просто3. В случае, если это не упражнение, производственный код, конечно, должен использовать стандартную библиотеку: golang.org/pkg/encoding/hex/#Decode .
4. @Peter tks, это то, что я хочу
Ответ №1:
binascii.unhexlify
метод достаточно прост. Это просто преобразование из шестнадцатеричного в двоичный. Каждые две шестнадцатеричные цифры — это 8-битный байт (256 возможных значений). вот мой код
func unhexlify(str string) []byte {
res := make([]byte, 0)
for i := 0; i < len(str); i =2 {
x, _ := strconv.ParseInt(str[i:i 2], 16, 32)
res = append(res, byte(x))
}
return res
}
Я должен использовать библиотеку
func ExampleDecodeString() {
const s = "48656c6c6f20476f7068657221"
decoded, err := hex.DecodeString(s)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%sn", decoded)
// Output:
// Hello Gopher!
}