Scroll to navigation

Encode::CN(3perl) Perl Programmers Reference Guide Encode::CN(3perl)


Encode::CN - China-based Chinese Encodings


    use Encode qw/encode decode/; 
    $euc_cn = encode("euc-cn", $utf8);   # loads Encode::CN implicitly
    $utf8   = decode("euc-cn", $euc_cn); # ditto


This module implements China-based Chinese charset encodings. Encodings supported are as follows.

  Canonical   Alias             Description
  euc-cn      /\beuc.*cn$/i     EUC (Extended Unix Character)
              /\bGB[-_ ]?2312(?:\D.*$|$)/i (see below)
  gb2312-raw                    The raw (low-bit) GB2312 character map
  gb12345-raw                   Traditional chinese counterpart to 
                GB2312 (raw)
  iso-ir-165                    GB2312 + GB6345 + GB8565 + additions
  MacChineseSimp                GB2312 + Apple Additions
  cp936                         Code Page 936, also known as GBK 
                (Extended GuoBiao)
  hz                            7-bit escaped GB2312 encoding

To find how to use this module in detail, see Encode.


Due to size concerns, "GB 18030" (an extension to "GBK") is distributed separately on CPAN, under the name Encode::HanExtra. That module also contains extra Taiwan-based encodings.


When you see "charset=gb2312" on mails and web pages, they really mean "euc-cn" encodings. To fix that, "gb2312" is aliased to "euc-cn". Use "gb2312-raw" when you really mean it.

The ASCII region (0x00-0x7f) is preserved for all encodings, even though this conflicts with mappings by the Unicode Consortium.


2019-10-27 perl v5.30.1