use 5.18.2; use warnings; use utf8; use Data::Peek; use Encode qw( decode encode ); my $arabic = "ﻟﻠﺒﻴﻊ"; # "For sale" say join " " => map { sprintf "U+%06x", ord $_ } split m// => $arabic; say join " " => map { sprintf "U+%06x", $_ } unpack "U*", $arabic; DHexDump $arabic; say join " " => map { sprintf "U+%02x", ord $_ } split m// => encode (utf8 => $arabic);