icon

Determine the locale encoding

encode_locale-1.05-1-any

In many applications it's wise to let Perl use Unicode for the strings it processes. Most of the interfaces Perl has to the outside world are still byte based. Programs therefore need to decode byte strings that enter the program from the outside and encode them again on the way out.
The POSIX locale system is used to specify both the language conventions requested by the user and the preferred character set to consume and output. The Encode::Locale module looks up the charset and encoding (called a CODESET in the locale jargon) and arranges for the Encode module to know this encoding under the name "locale". It means bytes obtained from the environment can be converted to Unicode strings by calling Encode::encode(locale => ) and converted back again with Encode::decode(locale => ).
Where file systems interfaces pass file names in and out of the program we also need care. The trend is for operating systems to use a fixed file encoding that don't actually depend on the locale; and this module determines the most appropriate encoding for file names. The Encode module will know this encoding under the name "locale_fs". For traditional Unix systems this will be an alias to the same encoding as "locale".
For programs running in a terminal window (called a "Console" on some systems) the "locale" encoding is usually a good choice for what to expect as input and output. Some systems allows us to query the encoding set for the terminal and Encode::Locale will do that if available and make these encodings known under the Encode aliases "console_in" and "console_out". For systems where we can't determine the terminal encoding these will be aliased as the same encoding as "locale". The advice is to use "console_in" for input known to come from the terminal and "console_out" for output to the terminal.

Name
encode_locale
Repository
HaikuPorts
Repository Source
haikuports_x86_64
Version
1.05-1
Download Size
5.1 KB
Source available
Yes
Categories
None
Version Views
2