$ perl use warnings; use strict; use Encode qw/decode/; use Data::Dumper qw/Dumper/; warn Dumper decode('UTF-16-BE', "\x3D\xDD\xFA", Encode::FB_CROAK|Encode::LEAVE_SRC ); warn Dumper decode('UTF-16-BE', "\xFA", Encode::FB_CROAK|Encode::LEAVE_SRC ); warn Dumper decode('UTF-16-LE', "\xD8\xFA\xDD", Encode::FB_CROAK|Encode::LEAVE_SRC ); warn Dumper decode('UTF-16-LE', "\xDD", Encode::FB_CROAK|Encode::LEAVE_SRC); __END__ $VAR1 = "\x{3ddd}"; $VAR1 = ''; $VAR1 = "\x{fad8}"; $VAR1 = ''; MINGW64 ~ $ perl -v This is perl 5, version 26, subversion 2 (v5.26.2) built for x86_64-msys-thread-multi