Encode::JP(3pm)
π NAME π
Encode::JP β Japanese Encodings. Yup, bestie, this is the Encode::JP(3pm) page from the Perl Programmers Reference Guide, and we're gonna get into it π
β¨
β¨ SYNOPSIS β¨
use Encode qw/encode decode/;
$euc_jp = encode("euc-jp", $utf8); # loads Encode::JP implicitly
$utf8 = decode("euc-jp", $euc_jp); # ditto
No cap, that's the whole vibe check.
πΈ ABSTRACT πΈ
This module implements Japanese charset encodings. Encodings supported are as follows. Canonical names first, then aliases, then the description β iykyk:
euc-jpβ aliases:/\beuc.*jp$/i,/\bjp.*euc/i,/\bujis$/i. Description: EUC (Extended Unix Character)shiftjisβ aliases:/\bshift.*jis$/i,/\bsjis$/i. Description: Shift JIS (aka MS Kanji)7bit-jisβ alias:/\bjis$/i. Description: 7bit JISiso-2022-jpβ Description: ISO-2022-JP [RFC1468] = 7bit JIS with all Halfwidth Kana converted to Fullwidthiso-2022-jp-1β Description: ISO-2022-JP-1 [RFC2237] = ISO-2022-JP with JIS X 0212-1990 support. See belowMacJapaneseβ Description: Shift JIS + Apple vendor mappingscp932β alias:/\bwindows-31j$/i. Description: Code Page 932 = Shift JIS + MS/IBM vendor mappingsjis0201-rawβ Description: JIS0201, raw formatjis0208-rawβ Description: JIS0208, raw formatjis0212-rawβ Description: JIS0212, raw format
That's the lineup, and every one of them is iconic in its own way π
π DESCRIPTION π
To find out how to use this module in detail, see Encode. That's the main character you wanna follow for the full tutorial vibe π₯
π¦ Note on ISO-2022-JP(-1)? π¦
Okay so ISO-2022-JP-1 (RFC2237) is a superset of ISO-2022-JP (RFC1468) which adds support for JIS X 0212-1990. That means you can use the same code to decode to utf8 but not vice versa. Fr fr.
$utf8 = decode('iso-2022-jp-1', $stream);
and
$utf8 = decode('iso-2022-jp', $stream);
yield the same result but
$with_0212 = encode('iso-2022-jp-1', $utf8);
is now different from
$without_0212 = encode('iso-2022-jp', $utf8 );
In the latter case, characters that map to 0212 are first converted to U+3013 (0xA2AE in EUC-JP; a white square also known as 'Tofu' or 'geta mark') then fed to the decoding engine. U+FFFD is not used, in order to preserve text layout as much as possible. It's giving "protect the layout at all costs" π«Ά
π BUGS π
Heads up, bestie: the ASCII region (0x00-0x7f) is preserved for all encodings, even though this conflicts with mappings by the Unicode Consortium. Not me making the rules β that's just what it says π
π₯ SEE ALSO π₯
Encode
And that's the whole page, mwah π This little icon came from perl v5.42.3, dated 2026-11-03, and it's Encode::JP(3pm) β periodt. π¦
π¦ where this page comes from
- alpine 3.24: perl-doc 5.42.3-r0 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms