Кодировщик и декодировщик Hex

Декодировать Hex

О шестнадцатеричном формате

Что такое шестнадцатеричный формат?

Шестнадцатеричная запись представляет каждый восьмибитный байт ровно двумя цифрами 0-9 и a-f. Кодировщик работает с UTF-8 или байтами файла и выдаёт строчные пары; декодер удаляет пробелы и собирает пары обратно в байты.

Зачем использовать hex?

Используйте hex для просмотра потоков байтов, хешей, полей протоколов и сигнатур файлов: границы байтов хорошо видны. Размер удваивается, нечётное число цифр недопустимо, а сжатия, шифрования и проверки целостности само представление не даёт.

Hex в Bash

# Encoding
printf 'Hello' | xxd -p
# Output: 48656c6c6f

# Decoding
printf '48656c6c6f' | xxd -r -p
# Output: Hello
			

Hex в JavaScript

// Encoding
let encoded = Buffer.from("Hello").toString("hex");
console.log(encoded);
// Output: 48656c6c6f

// Decoding
let decoded = Buffer.from("48656c6c6f", "hex").toString();
console.log(decoded);
// Output: Hello
			

Hex в Go

package main
import (
	"encoding/hex"
	"fmt"
)
func main() {
	// Encoding
	encoded := hex.EncodeToString([]byte("Hello"))
	fmt.Println(encoded)
	// Output: 48656c6c6f

	// Decoding
	decoded, _ := hex.DecodeString("48656c6c6f")
	fmt.Println(string(decoded))
	// Output: Hello
}
			

Hex в PHP

// Encoding
$encoded = bin2hex("Hello");
echo $encoded . "\n";
// Output: 48656c6c6f

// Decoding
$decoded = hex2bin("48656c6c6f");
echo $decoded . "\n";
// Output: Hello