Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
20
Task/UTF-8-encode-and-decode/Perl/utf-8-encode-and-decode.pl
Normal file
20
Task/UTF-8-encode-and-decode/Perl/utf-8-encode-and-decode.pl
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/perl
|
||||
use strict;
|
||||
use warnings;
|
||||
use Unicode::UCD 'charinfo'; # getting the unicode name of the character
|
||||
use utf8; # using non-ascii-characters in source code
|
||||
binmode STDOUT, ":encoding(UTF-8)"; # printing non-ascii-characters to screen
|
||||
|
||||
my @chars = map {ord} qw/A ö Ж € 𝄞/; # @chars contains the unicode points
|
||||
my $print_format = '%5s %-35s';
|
||||
printf "$print_format %8s %s\n" , 'char', 'name', 'unicode', 'utf-8 encoding';
|
||||
map{
|
||||
my $name = charinfo($_)->{'name'}; # get unicode name
|
||||
printf "$print_format %06x " , chr, lc $name, $_;
|
||||
my $utf8 = chr; # single char (using implicit $_)
|
||||
utf8::encode($utf8); # inplace encoding into utf8 parts
|
||||
map{ # for each utf8 char print ord
|
||||
printf " %x", ord;
|
||||
} split //, $utf8;
|
||||
print "\n";
|
||||
} @chars;
|
||||
Loading…
Add table
Add a link
Reference in a new issue