Character encodings in Perl

The 'Encode' module provides the interface between Perl strings and the rest of the system. Perl strings are sequences of _characters_. The repertoire of characters that Perl can represent is a superset of those defined by the Unicode Consortium. On most platforms the ordinal values of a character as returned by 'ord(_S_)' is the _Unicode codepoint_ for that character. The exceptions are platforms where the legacy encoding is some variant of EBCDIC rather than a superset of ASCII; see perlebcdic. During recent history, data is moved around a computer in 8-bit chunks, often called "bytes" but also known as "octets" in standards documents. Perl is widely used to manipulate data of many types: not only strings of characters representing human or computer languages, but also "binary" data, being the machine's representation of numbers, pixels in an image, or just about anything. When Perl is processing "binary data", the programmer wants Perl to process "sequences of bytes". This is not a problem for Perl: because a byte has 256 possible values, it easily fits in Perl's much larger "logical character". This document mostly explains the _how_. perlunitut and perlunifaq explain the _why_.

  • Version 2.98
  • Size 1.21 MB
  • openSUSE Leap 15.3
Direct Install Expert Download


openSUSE Tumbleweed

openSUSE Leap 15.3

openSUSE Leap 15.2




RedHat RHEL-7

RedHat RHEL-5

Unsupported distributions

The following distributions are not officially supported. Use these packages at your own risk.