Here's one method. Doubtless there's a neater approach but this works for your single example. Feel free to add to @tests to convince yourself that it is doing what you want.
#!/usr/bin/env perl
use strict;
use warnings;
use Encode;
use Test::More;
my @tests = (
{
source => "\x{2013}",
want => 'E2 80 93'
}
);
plan tests => scalar @tests;
for my $t (@tests) {
Encode::_utf8_off ($t->{source}); # bytes
my $have = uc unpack "H*", $t->{source}; # into hex
$have = join (' ', $have =~ /(..)/g); # spaced pairs
is ($have, $t->{want}, "Covert $t->{source} into $t->{want}");
}