{
    "content": [
        {
            "type": "text",
            "text": "# Unicode::Japanese (perldoc)\n\n**Summary:** Unicode::Japanese - Convert encoding of japanese text\n\n**Synopsis:** use Unicode::Japanese;\nuse Unicode::Japanese qw(unijp);\n# convert utf8 -> sjis\nprint Unicode::Japanese->new($str)->sjis;\nprint unijp($str)->sjis; # same as above.\n# convert sjis -> utf8\nprint Unicode::Japanese->new($str,'sjis')->get;\n# convert sjis (imodeEMOJI) -> utf8\nprint Unicode::Japanese->new($str,'sjis-imode')->get;\n# convert zenkaku (utf8) -> hankaku (utf8)\nprint Unicode::Japanese->new($str)->z2h->get;\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **SYNOPSIS** (20 lines)\n- **DESCRIPTION** (53 lines)\n- **REQUIREMENT** (10 lines)\n- **METHODS** (373 lines)\n- **SUPPORTED ENCODINGS** (82 lines)\n- **DESCRIPTION OF UNICODE MAPPING** (50 lines)\n- **PurePerl mode** (5 lines)\n- **BUGS** (18 lines)\n- **SUPPORT** (22 lines)\n- **CREDITS** (13 lines)\n\n## Full Content\n\n### NAME\n\nUnicode::Japanese - Convert encoding of japanese text\n\n### SYNOPSIS\n\nuse Unicode::Japanese;\nuse Unicode::Japanese qw(unijp);\n\n# convert utf8 -> sjis\n\nprint Unicode::Japanese->new($str)->sjis;\nprint unijp($str)->sjis; # same as above.\n\n# convert sjis -> utf8\n\nprint Unicode::Japanese->new($str,'sjis')->get;\n\n# convert sjis (imodeEMOJI) -> utf8\n\nprint Unicode::Japanese->new($str,'sjis-imode')->get;\n\n# convert zenkaku (utf8) -> hankaku (utf8)\n\nprint Unicode::Japanese->new($str)->z2h->get;\n\n### DESCRIPTION\n\nThe Unicode::Japanese module converts encoding of japanese text from one\nencoding to another.\n\nFEATURES\n* An instance of Unicode::Japanese internally holds a string in UTF-8.\n\n* This module is implemented in two ways: XS and pure perl. If\nefficiency is important for you, you should build and install the XS\nmodule. If you don't want to, or if you can't build the XS module, you\nmay use the pure perl module instead. In that case, only you have to\ndo is to copy Japanese.pm into somewhere in @INC.\n\n* This module can convert characters from zenkaku (full-width) form to\nhankaku (half-width) form, and vice versa. Conversion between hiragana\n(one of two sets of japanese phonetical alphabet) and katakana\n(another set of japanese phonetical alphabet) is also supported.\n\n* This module has mapping tables for emoji (graphic characters) defined\nby various japanese mobile phones; DoCoMo i-mode, ASTEL dot-i and\nJ-PHONE J-Sky. Those letters are mapped on Unicode Private Use Area so\nunicode strings it outputs are still valid even if they contain emoji,\nand you can safely pass them to other software that can handle\nUnicode.\n\n* This module can map some emoji from one set to another. Different\nmobile phones define different sets of emoji, so mapping each other is\nnot always possible. But since some emoji exist in two or more sets\nwith similar appearance, this module considers those emoji to be the\nsame.\n\n* This module uses the mapping table for MS-CP932 instead of the\nstandard ShiftJIS. The ShiftJIS encoding used by MS-Windows\n(MS-SJIS/MS-CP932) slightly differs from the standard.\n\n* When the module converts strings from Unicode to ShiftJIS, EUC-JP or\nISO-2022-JP, unicode letters which can't be represented in those\nencodings will be encoded in \"&#dddd;\" form (decimal character\nreference). Note, however, that letters in Unicode Private Use Area\nwill be replaced with '?' mark ('QUESTION MARK'; U+003F) instead of\nbeing encoded. In addition, encoding to character sets for mobile\nphones makes every unrepresentable letters being '?' mark.\n\n* On perl-5.8.0 or later, this module handles the UTF-8 flag: the method\nutf8() returns UTF-8 *byte* string, and the method getu() returns\nUTF-8 *character* string.\n\nCurrently the method get() returns UTF-8 *byte* string but this\nbehavior may be changed in the future.\n\nMethods like sjis(), jis(), utf8(), and such like return *byte*\nstring. new(), set(), getcode() methods just ignore the UTF-8 flag of\nstrings they take.\n\n### REQUIREMENT\n\n*   perl 5.10.x, 5.8.x, etc. (5.004 and later)\n\n*   (optional) C Compiler. This module supports both XS and Pure Perl.\nIf you have no C Compilers, Unicode::Japanese will be installed as\nPure Perl module.\n\n*   (optional) Test.pm and Test::More for testing.\n\nNo other modules are required at run time.\n\n### METHODS\n\n$s = Unicode::Japanese->new($str [, $icode [, $encode]])\nCreate a new instance of Unicode::Japanese.\n\nAny given parameters will be internally passed to the method\n\"set\"().\n\n$s = unijp($str [, $icode [, $encode]])\nSame as Unicode::Jananese->new(...).\n\n$s->set($str [, $icode [, $encode]])\n\n$str: string\n$icode: optional character encoding (default: 'utf8')\n$encode: optional binary encoding (default: no binary encodings are\nassumed)\n\nStore a string into the instance.\n\nPossible character encodings are:\n\nauto\nutf8 ucs2 ucs4\nutf16-be utf16-le utf16\nutf32-be utf32-le utf32\nsjis cp932 euc euc-jp jis\nsjis-imode sjis-imode1 sjis-imode2\nutf8-imode utf8-imode1 utf8-imode2\nsjis-doti sjis-doti1\nsjis-jsky sjis-jsky1 sjis-jsky2\njis-jsky  jis-jsky1  jis-jsky2\nutf8-jsky utf8-jsky1 utf8-jsky2\nsjis-au sjis-au1 sjis-au2\njis-au  jis-au1  jis-au2\nsjis-icon-au sjis-icon-au1 sjis-icon-au2\neuc-icon-au  euc-icon-au1  euc-icon-au2\njis-icon-au  jis-icon-au1  jis-icon-au2\nutf8-icon-au utf8-icon-au1 utf8-icon-au2\nascii binary\n\n(see also \"SUPPORTED ENCODINGS\".)\n\nIf you want the Unicode::Japanese detect the character encoding of\nstring, you must explicitly specify 'auto' as the second argument.\nIn that case, the given string will be passed to the method\ngetcode() to guess the encoding.\n\nFor binary encodings, only 'base64' is currently supported. If you\nspecify 'base64' as the third argument, the given string will be\ndecoded using Base64 decoder.\n\nSpecify 'binary' as the second argument if you want your string to\nbe stored without modification.\n\nWhen you specify 'sjis-imode' or 'sjis-doti' as the character\nencoding, any occurences of '&#dddd;' (decimal character reference)\nin the string will be interpreted and decoded as code point of\nemoji, just like emoji implanted into the string in binary form.\n\nSince encoded forms of strings in various encodings are not clearly\ndistinctive to each other, it is not always certainly possible to\ndetect what encoding is used for a given string.\n\nWhen a given string is possibly interpreted as both ShiftJIS and\nUTF-8 string, this module considers such a string to be encoded in\nShiftJIS. And if the encoding is not distinguishable between\n'sjis-au' and 'sjis-doti', this module considers it 'sjis-au'.\n\n$str = $s->get\n\n$str: string (UTF-8)\n\nGet the internal string in UTF-8.\n\nThis method currently returns a byte string (whose UTF-8 flag is\nturned off), but this behavior may be changed in the future.\n\nIf you absolutely want a byte string, you should use the method\nutf8() instead. And if you want a character string (whose UTF-8 flag\nis turned on), you have to use the method getu().\n\n$str = $s->getu\n\n$str: string (UTF-8)\n\nGet the internal string in UTF-8.\n\nOn perl-5.8.0 or later, this method returns a character string with\nits UTF-8 flag turned on.\n\n$code = $s->getcode($str)\n\n$str: string\n$code: name of character encoding\n\nDetect the character encoding of given string.\n\nNote that this method, exceptionaly, doesn't deal with the internal\nstring of an instance.\n\nTo guess the encoding, the following algorithm is used:\n\n(For pure perl implementation)\n\n1   If the string has an UTF-32 BOM, its encoding is 'utf32'.\n\n2   If it has an UTF-16 BOM, its encoding is 'utf16'.\n\n3   If it is valid for UTF-32BE, its encoding is 'utf32-be'.\n\n4   If it is valid for UTF-32LE, its encoding is 'utf32-le'.\n\n5   If it contains no ESC characters or bytes whose eighth bit is\non, its encoding is 'ascii'. Every ASCII control characters\n(0x00-0x1F and 0x7F) except ESC (0x1B) are considered to be in\nthe range of 'ascii'.\n\n6   If it contains escape sequences of ISO-2022-JP, its encoding is\n'jis'.\n\n7   If it contains any emoji defined for J-PHONE, its encoding is\n'sjis-jsky'.\n\n8   If it is valid for EUC-JP, its encoding is 'euc'.\n\n9   If it is valid for ShiftJIS, its encoding is 'sjis'.\n\n10  If it contains any emoji defined for au, and everything else is\nvalid for ShiftJIS, its encoding is 'sjis-au'.\n\n11  If it contains any emoji defined for i-mode, and everything else\nis valid for ShiftJIS, its encoding is 'sjis-imode'.\n\n12  If it contains any emoji defined for dot-i, and everything else\nis valid for ShiftJIS, its encoding is 'sjis-doti'.\n\n13  If it is valid for UTF-8, its encoding is 'utf8'.\n\n14  If no conditions above are fulfilled, its encoding is 'unknown'.\n\n(For XS implementation)\n\n1   If the string has an UTF-32 BOM, its encoding is 'utf32'.\n\n2   If it has an UTF-16 BOM, its encoding is 'utf16'.\n\n3   Find all possible encodings that might have been applied to the\nstring from the following:\n\nascii / euc / sjis / jis / utf8 / utf32-be / utf32-le /\nsjis-jsky / sjis-imode / sjis-au / sjis-doti\n\n4   If any encodings have been found possible, this module picks out\none encoding having the highest priority among them. The\npriority order is as follows:\n\nutf32-be / utf32-le / ascii / jis / euc / sjis / sjis-jsky /\nsjis-imode / sjis-au / sjis-doti / utf8\n\n5   If no conditions above are fulfilled, its encoding is 'unknown'.\n\nPay attention to the following pitfalls in the above algorithm:\n\n* UTF-8 strings might be accidentally considered to be encoded in\nShiftJIS.\n\n* UCS-2 strings (sequence of raw UCS-2 letters in big-endian; each\nletters has always 2 bytes) can't be detected because they look\nlike nothing but sequences of random bytes whose length is an even\nnumber.\n\n* UTF-16 strings must have BOM to be detected.\n\n* Emoji are only be recognized if they are implanted into the string\nin binary form. If they are described in '&#dddd;' form, they\naren't considered to be emoji.\n\nSince the XS and pure perl implementations use different algorithms\nto guess encoding, they may guess differently for the same string.\nEspecially, the pure perl implementation finds ShiftJIS strings\ncontaining ESC character (0x1B) to be actually encoded in ShiftJIS\nbut XS implementation doesn't. This is because such strings can\nhardly be distinguished from 'sjis-jsky'. In addition, EUC-JP\nstrings containing ESC character are also rejected for the same\nreason.\n\n$code = $s->getcodelist($str)\n\n$str: string\n$code: name of character encodings\n\nDetect the character encoding of given string.\n\nUnlike the method getcode(), getcodelist() returns a list of\npossible encodings.\n\n$str = $s->conv($ocode, $encode)\n\n$ocode: character encoding (possible encodings are:)\nutf8 ucs2 ucs4 utf16\nsjis cp932 euc euc-jp jis\nsjis-imode sjis-imode1 sjis-imode2\nutf8-imode utf8-imode1 utf8-imode2\nsjis-doti sjis-doti1\nsjis-jsky sjis-jsky1 sjis-jsky2\njis-jsky  jis-jsky1  jis-jsky2\nutf8-jsky utf8-jsky1 utf8-jsky2\nsjis-au sjis-au1 sjis-au2\njis-au  jis-au1  jis-au2\nsjis-icon-au sjis-icon-au1 sjis-icon-au2\neuc-icon-au  euc-icon-au1  euc-icon-au2\njis-icon-au  jis-icon-au1  jis-icon-au2\nutf8-icon-au utf8-icon-au1 utf8-icon-au2\nbinary\n\n(see also \"SUPPORTED ENCODINGS\".)\n\nSome encodings for mobile phones have a trailing digit like\n'sjis-au2'. Those digits represent the version number of\nencodings. Such encodings have a variant with no trailing digits,\nlike 'sjis-au', which is the same as the latest version among its\nvariants.\n\n$encode: optional binary encoding\n$str: string\n\nGet the internal string of instance with encoding it using a given\ncharacter encoding method.\n\nIf you want the resulting string to be encoded in Base64, specify\n'base64' as the second argument.\n\nOn perl-5.8.0 or later, the UTF-8 flag of resulting string is turned\noff even if you specify 'utf8' to the first argument.\n\n$s->tag2bin\nInterpret decimal character references (&#dddd;) in the instance,\nand replaces them with single characters they represent.\n\n$s->z2h\nReplace zenkaku (full-width) letters in the instance with hankaku\n(half-width) letters.\n\n$s->h2z\nReplace hankaku (half-width) letters in the instance with zenkaku\n(full-width) letters.\n\n$s->hira2kata\nReplace any hiragana in the instance with katakana.\n\n$s->kata2hira\nReplace any katakana in the instance with hiragana.\n\n$str = $s->jis\n$str: byte string in ISO-2022-JP\n\nGet the internal string of instance with encoding it in ISO-2022-JP.\n\n$str = $s->euc\n$str: byte string in EUC-JP\n\nGet the internal string of instance with encoding it in EUC-JP.\n\n$str = $s->utf8\n$str: byte string in UTF-8\n\nGet the internal UTF-8 string of instance.\n\nOn perl-5.8.0 or later, the UTF-8 flag of resulting string is turned\noff.\n\n$str = $s->ucs2\n$str: byte string in UCS-2\n\nGet the internal string of instance as a sequence of raw UCS-2\nletters in big-endian. Note that this is different from UTF-16BE as\nraw UCS-2 sequence has no concept of surrogate pair.\n\n$str = $s->ucs4\n$str: byte string in UCS-4\n\nGet the internal string of instance as a sequence of raw UCS-4\nletters in big-endian. This is practically the same as UTF-32BE.\n\n$str = $s->utf16\n$str: byte string in UTF-16\n\nGet the insternal string of instance with encoding it in UTF-16 in\nbig-endian with no BOM prepended.\n\n$str = $s->sjis\n$str: byte string in ShiftJIS\n\nGet the internal string of instance with encoding it in ShiftJIS\n(MS-SJIS / MS-CP932).\n\n$str = $s->sjisimode\n$str: byte string in 'sjis-imode'\n\nGet the internal string of instance with encoding it in\n'sjis-imode'.\n\n$str = $s->sjisimode1\n$str: byte string in 'sjis-imode1'\n\nGet the internal string of instance with encoding it in\n'sjis-imode1'.\n\n$str = $s->sjisimode2\n$str: byte string in 'sjis-imode2'\n\nGet the internal string of instance with encoding it in\n'sjis-imode2'.\n\n$str = $s->sjisdoti\n$str: byte string in 'sjis-doti'\n\nGet the internal string of instance with encoding it in 'sjis-doti'.\n\n$str = $s->sjisjsky\n$str: byte string in 'sjis-jsky'\n\nGet the internal string of instance with encoding it in 'sjis-jsky'.\n\n$str = $s->sjisjsky1\n$str: byte string in 'sjis-jsky1'\n\nGet the internal string of instance with encoding it in\n'sjis-jsky1'.\n\n$str = $s->sjisjsky\n$str: byte string in 'sjis-jsky'\n\nGet the internal string of instance with encoding it in 'sjis-jsky'.\n\n$str = $s->sjisiconau\n$str: byte string in 'sjis-icon-au'\n\nGet the internal string of instance with encoding it in\n'sjis-icon-au'.\n\n$strarrayref = $s->strcut($len)\n\n$len: maximum length of each chunks (in number of full-width\ncharacters)\n$strarrayref: reference to array of strings\n\nSplit the internal string of instance into chunks of a given length.\n\nOn perl-5.8.0 or later, UTF-8 flags of each chunks are turned on.\n\n$len = $s->strlen\n$len: character width of the internal string\n\nCalculate the character width of the internal string. Half-width\ncharacters have width of one unit, and full-width characters have\nwidth of two units.\n\n$s->joincsv(@values);\n@values: array of strings\n\nBuild a line of CSV from the arguments, and store it into the\ninstance. The resulting line has a trailing line break (\"\\n\").\n\n@values = $s->splitcsv;\n@values: array of strings\n\nParse a line of CSV in the instance and return each columns. The\nline will be chomp()ed before getting parsed.\n\nIf the internal string was decoded from 'binary' encoding (see\nmethods new() and set()), the UTF-8 flags of the resulting array of\nstrings are turned off. Otherwise the flags are turned on.\n\n### SUPPORTED ENCODINGS\n\n+---------------+----+-----+-------+\n|encoding       | in | out | guess |\n+---------------+----+-----+-------+\n|auto           : OK : --  | ----- |\n+---------------+----+-----+-------+\n|utf8           : OK : OK  | OK    |\n|ucs2           : OK : OK  | ----- |\n|ucs4           : OK : OK  | ----- |\n|utf16-be       : OK : --  | ----- |\n|utf16-le       : OK : --  | ----- |\n|utf16          : OK : OK  | OK(#) |\n|utf32-be       : OK : --  | OK    |\n|utf32-le       : OK : --  | OK    |\n|utf32          : OK : --  | OK(#) |\n+---------------+----+-----+-------+\n|sjis           : OK : OK  | OK    |\n|cp932          : OK : OK  | ----- |\n|euc            : OK : OK  | OK    |\n|euc-jp         : OK : OK  | ----- |\n|jis            : OK : OK  | OK    |\n+---------------+----+-----+-------+\n|sjis-imode     : OK : OK  | OK    |\n|sjis-imode1    : OK : OK  | ----- |\n|sjis-imode2    : OK : OK  | ----- |\n|utf8-imode     : OK : OK  | ----- |\n|utf8-imode1    : OK : OK  | ----- |\n|utf8-imode2    : OK : OK  | ----- |\n+---------------+----+-----+-------+\n|sjis-doti      : OK : OK  | OK    |\n|sjis-doti1     : OK : OK  | ----- |\n+---------------+----+-----+-------+\n|sjis-jsky      : OK : OK  | OK    |\n|sjis-jsky1     : OK : OK  | ----- |\n|sjis-jsky2     : OK : OK  | ----- |\n|jis-jsky       : OK : OK  | ----- |\n|jis-jsky1      : OK : OK  | ----- |\n|jis-jsky2      : OK : OK  | ----- |\n|utf8-jsky      : OK : OK  | ----- |\n|utf8-jsky1     : OK : OK  | ----- |\n|utf8-jsky2     : OK : OK  | ----- |\n+---------------+----+-----+-------+\n|sjis-au        : OK : OK  | OK    |\n|sjis-au1       : OK : OK  | ----- |\n|sjis-au2       : OK : OK  | ----- |\n|jis-au         : OK : OK  | ----- |\n|jis-au1        : OK : OK  | ----- |\n|jis-au2        : OK : OK  | ----- |\n|sjis-icon-au   : OK : OK  | ----- |\n|sjis-icon-au1  : OK : OK  | ----- |\n|sjis-icon-au2  : OK : OK  | ----- |\n|euc-icon-au    : OK : OK  | ----- |\n|euc-icon-au1   : OK : OK  | ----- |\n|euc-icon-au2   : OK : OK  | ----- |\n|jis-icon-au    : OK : OK  | ----- |\n|jis-icon-au1   : OK : OK  | ----- |\n|jis-icon-au2   : OK : OK  | ----- |\n|utf8-icon-au   : OK : OK  | ----- |\n|utf8-icon-au1  : OK : OK  | ----- |\n|utf8-icon-au2  : OK : OK  | ----- |\n+---------------+----+-----+-------+\n|ascii          : OK : --  | OK    |\n|binary         : OK : OK  | ----- |\n+---------------+----+-----+-------+\n(#): guessed when it has bom.\n\nGUESSING ORDER\n1.  utf32 (#)\n2.  utf16 (#)\n3.  utf32-be\n4.  utf32-le\n5.  ascii\n6.  jis\n7.  sjis-jsky (pp)\n8.  euc\n9.  sjis\n10. sjis-jsky (xs)\n11. sjis-au\n12. sjis-imode\n13. sjis-doti\n14. utf8\n15. unknown\n\n### DESCRIPTION OF UNICODE MAPPING\n\nTranscoding between Unicode encodings and other ones is performed as\nbelow:\n\nShiftJIS\nThis module uses the mapping table of MS-CP932.\n\n<ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TX\nT>\n\nWhen the module tries to convert Unicode string to ShiftJIS, it\nrepresents most letters which isn't available in ShiftJIS as decimal\ncharacter reference ('&#dddd;'). There is one exception to this: every\ngraphic characters for mobile phones are replaced with '?' mark.\n\nFor variants of ShiftJIS defined for mobile phones, every\nunrepresentable characters are replaced with '?' mark unlike the plain\nShiftJIS.\n\nEUC-JP/ISO-2022-JP\nThis module doesn't directly convert Unicode string from/to EUC-JP or\nISO-2022-JP: it once converts from/to ShiftJIS and then do the rest\ntranslation. So characters which aren't available in the ShiftJIS can\nnot be properly translated.\n\nDoCoMo i-mode\nThis module maps emoji in the range of F800 - F9FF to U+0FF800 -\nU+0FF9FF.\n\nASTEL dot-i\nThis module maps emoji in the range of F000 - F4FF to U+0FF000 -\nU+0FF4FF.\n\nJ-PHONE J-SKY\nThe encoding method defined by J-SKY is as follows: first an escape\nsequence \"\\e\\$\" comes to indicate the beginning of emoji, then the\nfirst byte of an emoji comes next, then the second bytes of at least\none emoji comes next, then \"\\x0f\" comes last to indicate the end of\nemoji. If a string contains a series of emoji whose first bytes are\nidentical, such sequence can be compressed by cascading second bytes\nof them to the single first byte.\n\nThis module considers a pair of those first and second bytes to be one\nletter, and map them from 4500 - 47FF to U+0FFB00 - U+0FFDFF.\n\nWhen the module encodes J-SKY emoji, it performs the compression\nautomatically.\n\nAU\nThis module maps AU emoji to U+0FF500 - U+0FF6FF.\n\n### PurePerl mode\n\nuse Unicode::Japanese qw(PurePerl);\n\nIf you want to explicitly take the pure perl implementation, pass\n'PurePerl' to the argument of the \"use\" statement.\n\n### BUGS\n\nPlease report bugs and requests to \"bug-unicode-japanese at rt.cpan.org\"\nor <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Unicode-Japanese>. If\nyou report them to the web interface, any progress to your report will\nbe automatically sent back to you.\n\n* This module doesn't directly convert Unicode string from/to EUC-JP or\nISO-2022-JP: it once converts from/to ShiftJIS and then do the rest\ntranslation. So characters which aren't available in the ShiftJIS can\nnot be properly translated.\n\n* The XS implementation of getcode() fails to detect the encoding when\nthe given string contains \\e while its encoding is EUC-JP or\nShiftJIS.\n\n* Japanese.pm is composed of textual perl script and binary character\nconversion table. If you transfer it on FTP using ASCII mode, the file\nwill collapse.\n\n### SUPPORT\n\nYou can find documentation for this module with the perldoc command.\n\nperldoc Unicode::Japanese\n\nYou can find more information at:\n\n*   AnnoCPAN: Annotated CPAN documentation\n\n<http://annocpan.org/dist/Unicode-Japanese>\n\n*   CPAN Ratings\n\n<http://cpanratings.perl.org/d/Unicode-Japanese>\n\n*   RT: CPAN's request tracker\n\n<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Unicode-Japanese>\n\n*   Search CPAN\n\n<http://search.cpan.org/dist/Unicode-Japanese>\n\n### CREDITS\n\nThanks very much to:\n\nNAKAYAMA Nao\n\nSUGIURA Tatsuki & Debian JP Project\n\nCOPYRIGHT & LICENSE\nCopyright 2001-2008 SANO Taku (SAWATARI Mikage) and YAMASHINA Hio, all\nrights reserved.\n\nThis program is free software; you can redistribute it and/or modify it\nunder the same terms as Perl itself.\n\n"
        }
    ],
    "structuredContent": {
        "command": "Unicode::Japanese",
        "section": "",
        "mode": "perldoc",
        "summary": "Unicode::Japanese - Convert encoding of japanese text",
        "synopsis": "use Unicode::Japanese;\nuse Unicode::Japanese qw(unijp);\n# convert utf8 -> sjis\nprint Unicode::Japanese->new($str)->sjis;\nprint unijp($str)->sjis; # same as above.\n# convert sjis -> utf8\nprint Unicode::Japanese->new($str,'sjis')->get;\n# convert sjis (imodeEMOJI) -> utf8\nprint Unicode::Japanese->new($str,'sjis-imode')->get;\n# convert zenkaku (utf8) -> hankaku (utf8)\nprint Unicode::Japanese->new($str)->z2h->get;",
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 20,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 53,
                "subsections": []
            },
            {
                "name": "REQUIREMENT",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "METHODS",
                "lines": 373,
                "subsections": []
            },
            {
                "name": "SUPPORTED ENCODINGS",
                "lines": 82,
                "subsections": []
            },
            {
                "name": "DESCRIPTION OF UNICODE MAPPING",
                "lines": 50,
                "subsections": []
            },
            {
                "name": "PurePerl mode",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "BUGS",
                "lines": 18,
                "subsections": []
            },
            {
                "name": "SUPPORT",
                "lines": 22,
                "subsections": []
            },
            {
                "name": "CREDITS",
                "lines": 13,
                "subsections": []
            }
        ]
    }
}