Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: How to print the actual bytes of UTF-8 characters ?

by andal (Hermit)
on Feb 07, 2014 at 08:37 UTC ( [id://1073826]=note: print w/replies, xml ) Need Help??


in reply to How to print the actual bytes of UTF-8 characters ?

Your question is somewhat confusing. What is decimal value of "Unicode(UTF-8) character"? There is Unicode standard that assigns 32-bit number to image of a character. There's UTF-8 encoding that can be used to represent 32-bit number as sequence of bytes that is backward compatible with ASCII only text. So, do you want to have decimal value from Unicode standard, or decimal value of the sequence of bytes from UTF-8 encoding? The latter one does not really make sense since number of bytes can be 3 or 5 and then you'd have to decide how you create "decimal" from it.

Assuming that you want codes assigned by Unicode standard and the bytes used to represent those codes as UTF-8 sequence. Also assuming that you start from codes. Then the following can be used

use utf8; use Encode; my $code = 208; # the unicode expressed as decimal my $char = chr($code); # convert to internal perl character my $utf8_octets = encode("UTF-8", $ch); # get sequence of bytes in UTF +-8 print sprintf("Decimal: %d, Hex: %x, Bits: %b\n", $code, $code, $code) +; print "UTF-8 hex: ", unpack("H*", $utf8_octets), "\n"; print "UTF-8 bits: ", unpack("B*", $utf8_octets), "\n";
This is the same as what choroba has offered, just using different way, without file handles and redirection.

If you want to go from characters to codes, then you get $code via ord($char).

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1073826]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (2)
As of 2024-04-26 02:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found