Returns the character represented by that NUMBER in the character set. For
example,
chr(65)
is "A"
in either ASCII or Unicode,
and chr(0x263a) is a Unicode smiley face.
Negative values give the Unicode replacement character (chr(0xfffd)), except under the bytes pragma, where the low eight bits of the value (truncated to an integer) are used.
If NUMBER is omitted, uses $_ .
For the reverse, use ord.
Note that characters from 128 to 255 (inclusive) are by default internally not encoded as UTF-8 for backward compatibility reasons.
See perlunicode for more about Unicode.
Recipe 1.4. Converting Between ASCII Characters and Values
1.4. Converting Between ASCII Characters and Values
Problem
You want to print out the number represented by a given ASCII character, or you want to print out an ASCII character given a number.
Solution
Use
ord
to convert a character to a number, or usechr
to convert a number to a character:$num = ord($char); $char = chr($num);The
%c
format used inprintf
andsprintf
also converts a number to a character:$char = sprintf("%c", $num); # slower than chr($num) printf("Number %d is character %c\n", $num, $num);
Number 101 is character e