Are you sure the text is UTF-16? If so, your best bet is probably to convert to UTF-8. Perl 5.8 and above handle utf-8 natively, and utf-8 and utf-16 have a 1-to-1 character correspondence, so there won't be any encoding issues. Use Encode to handle it easily.
use Encode;
my $string;
Encode::from_to($string, 'utf-16', 'utf-8');
UTF-8 latin digits are code equivalent to iso-8859-1 digits so the same regex should match either.
If you want to be extra sure to find Unicode digits, you can use named property assertions which will automatically use search in Unicode context.
my @digets = $string =~ /\p{Digit}+/g;
Just be aware that that regex will also find digits in other character blocks too if there are any in the string.