ShiftJIS::CP932::MapUTF - Microsoft CP-932‚ÆUnicode‚Æ‚Ì•ÏŠ·
use ShiftJIS::CP932::MapUTF qw(:all); $utf8_string = cp932_to_utf8($cp932_string); $cp932_string = utf8_to_cp932($utf8_string);
ƒ}ƒCƒNƒ�ƒ\ƒtƒgƒEƒBƒ“ƒhƒEƒY (Microsoft Windows) ƒR�[ƒhƒy�[ƒW 932 (CP-932) ‚̃e�[ƒuƒ‹‚Í 7915 •¶Žš‚©‚ç‚È‚è‚Ü‚·�B
JIS X 0201 ˆêƒoƒCƒg•¶Žš�i191 •¶Žš�j JIS X 0208 “ñƒoƒCƒg•¶Žš�i6879 •¶Žš�j NEC“ÁŽê•¶Žš�i83 •¶Žš�A13‹æ�j NEC‘I’èIBMŠg’£•¶Žš�i374 •¶Žš�A89�`92‹æ�j IBMŠg’£•¶Žš�i388 •¶Žš�A115�`119‹æ�j
‚±‚Ì•\‚Í�A‰�•œ•ÏŠ·‚Å‚«‚È‚¢“ñ�d’è‹`•¶Žš‚ðŠÜ‚ñ‚Å‚¢‚Ü‚·�B ‚±‚ê‚ç‚Ì“ñ�d’è‹`•¶Žš‚̓xƒ“ƒ_�[�iNEC ‚¨‚æ‚Ñ IBM�j’è‹`‚ÌŠg’£•¶Žš‚Ì‚½‚ß‚Å‚·�B —Ⴆ‚Î�AUnicode ‚Ì U+2252 ‚ɑΉž•t‚¯‚ç‚ê‚镶Žš‚Í“ñŒÂ‚ ‚è‚Ü‚·�B ‚‚܂è�AJIS X 0208 •¶Žš‚Ì 0x81e0 ‚Æ NEC “ÁŽê•¶Žš‚Ì 0x8790 ‚Å‚·�B
U+2252
0x81e0
0x8790
ŽÀ�Û�ACP-932 ‚Ì 7915 •¶Žš‚ð Unicode ‚Ì 7517 •¶Žš‚ɑΉž•t‚¯‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ�B ‚±‚Ì‚½‚ß�A398 ‚̉�•œ•ÏŠ·‚Å‚«‚È‚¢‘ΉžŠÖŒW‚ª‘¶�Ý‚µ‚Ü‚·�B
‚±‚̃‚ƒWƒ…�[ƒ‹‚Í�ACP-932 ‚©‚ç Unicode ‚É�A‚Ü‚½�A Unicode ‚©‚ç CP-932 ‚É�A“K�Ø‚É•ÏŠ·‚·‚éŠÖ�”‚ð’ñ‹Ÿ‚µ‚Ü‚·�B
‘æˆêˆø�”‚ªƒŒƒtƒ@ƒŒƒ“ƒX‚Ì�ê�‡�A‚»‚ê‚Í SJIS_CALLBACK ‚Æ‚µ‚Ä�A Unicode ‚ւ̑Ήž‚ª‚È‚¢ CP-932 •¶Žš‚Ì�ˆ—�‚É—p‚¢‚ç‚ê‚Ü‚·�B (STRING ‚ɃŒƒtƒ@ƒŒƒ“ƒX‚ð—^‚¦‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñ�B)
SJIS_CALLBACK
STRING
SJIS_CALLBACK ‚ª—^‚¦‚ç‚ê‚Ä‚¢‚é�ê�‡�A ‘æ“ñˆø�”‚ª STRING ‚Æ‚µ‚Ä—p‚¢‚ç‚ê‚Ü‚·�B ‚³‚à‚È‚¯‚ê‚Αæˆêˆø�”‚ª STRING ‚É‚È‚è‚Ü‚·�B
‚à‚µ SJIS_CALLBACK ‚ª—^‚¦‚ç‚ê‚Ä‚¢‚È‚¢�ê�‡�A Unicode ‚ւ̑Ήž‚ª‚È‚¢ CP-932 •¶Žš‚Í–Ù‚Á‚Ä�í�œ‚³‚ê�A •”•ª•¶Žš‚͈êƒoƒCƒg•ª’µ‚΂³‚ê‚Ü‚·�B SJIS_CALLBACK ‚Æ‚µ‚Ä�A�í‚ɋ󕶎š—ñ‚ð•Ô‚· ƒR�[ƒhƒŠƒtƒ@ƒŒƒ“ƒX (sub {''}) ‚ª“n‚³‚ꂽ‚©‚̂悤‚É“®�삵‚Ü‚·�B
sub {''}
�¡‚Ì‚Æ‚±‚ë�ASJIS_CALLBACK ‚Æ‚µ‚Ä‚Í�A ƒR�[ƒhƒŠƒtƒ@ƒŒƒ“ƒX‚Ì‚Ý‚ªŽg‚¦‚Ü‚·�B ƒR�[ƒhƒŠƒtƒ@ƒŒƒ“ƒX‚Ì•Ô‚è’l‚ªƒ}ƒbƒsƒ“ƒO‚Ì‚È‚¢•¶Žš‚Ì‘ã‚í‚è‚É‘}“ü‚³‚ê‚Ü‚·�B
ƒR�[ƒhƒŠƒtƒ@ƒŒƒ“ƒX SJIS_CALLBACK ‚Í�AˆêŒÂˆÈ�ã‚̈ø�”‚Æ‚Æ‚à‚É ŒÄ‚Ñ�o‚³‚ê‚Ü‚·�Bƒ}ƒbƒsƒ“ƒO‚Ì‚È‚¢•¶Žš‚ª•”•ª“I‚È“ñƒoƒCƒg•¶Žš �i‘æˆêƒoƒCƒg‚݂̂̈êƒoƒCƒg’·‚Ì•¶Žš—ñ�j‚Ì�ê�‡�A ‘æˆêˆø�”‚Í–¢’è‹`’l�iundef�j‚É‚È‚è�A ‘æ“ñˆø�”‚̓oƒCƒg‚ð•\‚·•„�†‚È‚µ�®�”’l‚É‚È‚è‚Ü‚·�B •”•ª•¶Žš‚Å‚È‚¯‚ê‚Î�A‘æˆêˆø�”‚Í�A•¶Žš‚ð•\‚·•¶Žš—ñ‚É‚È‚è‚Ü‚·�B
undef
ƒfƒtƒHƒ‹ƒg‚Å‚Í�A•”•ª“I‚È“ñƒoƒCƒg•¶Žš‚Í�A•¶Žš—ñ�iSTRING�j‚Ì––”ö‚É‚Ì‚Ý Œ»‚ê‚é‰Â”\�«‚ª‚ ‚è�A•¶Žš—ñ‚Ì�擪‚â“r’†‚É‚ÍŒ»‚ê‚Ü‚¹‚ñ �iSJIS_OPTION ‚Ì 't' ‚àŽQ�Æ‚Ì‚±‚Æ�j�B
SJIS_OPTION
't'
—á
my $sjis_callback = sub { my ($char, $byte) = @_; return function($char) if defined $char; die sprintf "found partial byte 0x%02x", $byte; };
�ã‹L‚Ì—á‚Å�A$char ‚Æ‚µ‚Ä‚Í�A"\x80", "\x82\xf2", "\xfc\xfc", "\xff" ‚È‚Ç‚ª‚ ‚蓾‚Ü‚·�B
$char
"\x80"
"\x82\xf2"
"\xfc\xfc"
"\xff"
SJIS_CALLBACK ‚Ì•Ô‚è’l‚Í�A•ÏŠ·�æ‚ÌŒ`Ž®‚É�‡‚킹‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ�B —Ⴆ‚Î�Acp932_to_utf16be() ‚Æ‚Æ‚à‚É UTF-8 ‚ð•Ô‚· SJIS_CALLBACK ‚ðŽg‚Á‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñ�B ‚‚܂è�AUTF ‚²‚Æ‚É�ASJIS_CALLBACK ‚ð—pˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·�B
cp932_to_utf16be()
SJIS_OPTION ‚ð STRING ‚ÌŒã‚É‚¨‚‚±‚Æ‚ª‚Å‚«‚Ü‚·�B ‚±‚ê‚ç‚Í 'tg' ‚â 'gst' ‚̂悤‚É‘g‚Ý�‡‚킹‚邱‚Æ‚à ‚Å‚«‚Ü‚·�i�‡�˜‚Í”CˆÓ‚Å‚·�j�B
'tg'
'gst'
'g' CP-932 ŠOŽš�iƒ†�[ƒU’è‹`•¶Žš�j[0xF040�`0xF9FC (95�`114‹æ)] ‚ð Unicode ‚Ì PUA [0xE000�`0xE757] ‚É•ÏŠ·‚µ‚Ü‚·�i1880 •¶Žš�j�B 's' CP-932 –¢’è‹`‚̈êƒoƒCƒg•¶Žš‚ðˆÈ‰º‚̂悤‚É•ÏŠ·‚µ‚Ü‚·�B 0x80 => U+0080, 0xA0 => U+F8F0, 0xFD => U+F8F1, 0xFE => U+F8F2, 0xFF => U+F8F3. 't' ‘æ“ñƒoƒCƒg‚Ì”ÍˆÍ [0x40..0x7E, 0x80..0xFC] ‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·�B —Ⴆ‚Î "\x81\x39" ‚̓fƒtƒHƒ‹ƒg‚Å‚Í–¢’è‹`‚Ì“ñƒoƒCƒg•¶Žš‚Æ ‚Ý‚È‚µ‚Ü‚·‚ª�A't' ‚ð—p‚¢‚é‚Æ�A•”•ª•¶ŽšƒoƒCƒg 0x81 ‚ÌŒã‚É ˆêƒoƒCƒg•¶Žš "\x39" ‚ª‘±‚¢‚½‚à‚Ì‚Æ‚Ý‚È‚µ‚Ü‚·�B
cp932_to_utf8([SJIS_CALLBACK,] STRING [, SJIS_OPTION])
CP-932 ‚ð UTF-8 ‚É•ÏŠ·‚µ‚Ü‚·�B
cp932_to_unicode([SJIS_CALLBACK,] STRING [, SJIS_OPTION])
CP-932 ‚ð Unicode ‚É•ÏŠ·‚µ‚Ü‚·�B �iSVf_UTF8 ƒtƒ‰ƒO•t‚«‚Ì Perl‚Ì“à•”Œ`Ž®, perlunicode ‚ðŽQ�Æ�B�j
SVf_UTF8
‚±‚ÌŠÖ�”‚Í Perl 5.6.1 ˆÈ�~�A‚©‚ XS ”Å‚Å‚Ì‚Ý’ñ‹Ÿ‚³‚ê‚Ü‚·�B
cp932_to_utf16le([SJIS_CALLBACK,] STRING [, SJIS_OPTION])
CP-932 ‚ð UTF-16LE ‚É•ÏŠ·‚µ‚Ü‚·�B
cp932_to_utf16be([SJIS_CALLBACK,] STRING [, SJIS_OPTION])
CP-932 ‚ð UTF-16BE ‚É•ÏŠ·‚µ‚Ü‚·�B
cp932_to_utf32le([SJIS_CALLBACK,] STRING [, SJIS_OPTION])
CP-932 ‚ð UTF-32LE ‚É•ÏŠ·‚µ‚Ü‚·�B
cp932_to_utf32be([SJIS_CALLBACK,] STRING [, SJIS_OPTION])
CP-932 ‚ð UTF-32BE ‚É•ÏŠ·‚µ‚Ü‚·�B
“ñ�d’è‹`•¶Žš‚Í‚·‚ׂÄ�AMicrosoft PRB Q170559 ‚É�]‚Á‚Ä•ÏŠ·‚³‚ê‚Ü‚·�B —Ⴆ‚Î U+2252 ‚Í "\x87\x90" ‚Å‚Í‚È‚ "\x81\xE0" ‚É•ÏŠ·‚³‚ê‚Ü‚·�B
"\x87\x90"
"\x81\xE0"
‘æˆêˆø�”‚ªƒŒƒtƒ@ƒŒƒ“ƒX‚Ì�ê�‡�A‚»‚ê‚Í UNICODE_CALLBACK ‚Æ‚µ‚Ä�A CP-932 ‚ւ̑Ήž‚ª‚È‚¢ Unicode •¶Žš‚Ì�ˆ—�‚É—p‚¢‚ç‚ê‚Ü‚·�B (STRING ‚ɃŒƒtƒ@ƒŒƒ“ƒX‚ð—^‚¦‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñ�B)
UNICODE_CALLBACK
UNICODE_CALLBACK ‚ª—^‚¦‚ç‚ê‚Ä‚¢‚é�ê�‡�A ‘æ“ñˆø�”‚ª STRING ‚Æ‚µ‚Ä—p‚¢‚ç‚ê‚Ü‚·�B ‚³‚à‚È‚¯‚ê‚Αæˆêˆø�”‚ª STRING ‚É‚È‚è‚Ü‚·�B
‚à‚µ UNICODE_CALLBACK ‚ª—^‚¦‚ç‚ê‚Ä‚¢‚È‚¢�ê�‡�A CP-932 ‚ւ̑Ήž‚ª‚È‚¢ Unicode •¶Žš‚Í–Ù‚Á‚Ä�í�œ‚³‚ê�A ‚Ü‚½�A•”•ª•¶Žš‚͈êƒoƒCƒg•ª’µ‚΂³‚ê‚Ü‚·�B UNICODE_CALLBACK ‚Æ‚µ‚Ä�A�í‚ɋ󕶎š—ñ‚ð•Ô‚· ƒR�[ƒhƒŠƒtƒ@ƒŒƒ“ƒX (sub {''}) ‚ª“n‚³‚ꂽ‚©‚̂悤‚É“®�삵‚Ü‚·�B
�¡‚Ì‚Æ‚±‚ë�AUNICODE_CALLBACK ‚Æ‚µ‚Ä‚Í�A ƒR�[ƒhƒŠƒtƒ@ƒŒƒ“ƒX‚Ì‚Ý‚ªŽg‚¦‚Ü‚·�B ‚»‚̃R�[ƒhƒŠƒtƒ@ƒŒƒ“ƒX‚Ì•Ô‚è’l‚ª ƒ}ƒbƒsƒ“ƒO‚Ì‚È‚¢•¶Žš‚Ì‘ã‚í‚è‚É‘}“ü‚³‚ê‚Ü‚·�B
ƒR�[ƒhƒŠƒtƒ@ƒŒƒ“ƒX UNICODE_CALLBACK ‚Í�A ˆêŒÂˆÈ�ã‚̈ø�”‚Æ‚Æ‚à‚ɌĂÑ�o‚³‚ê‚Ü‚·�Bƒ}ƒbƒsƒ“ƒO‚Ì‚È‚¢•¶Žš‚ª •”•ª“I•¶Žš�i•s�³‚ȃoƒCƒg�j‚Ì�ê�‡�A‘æˆêˆø�”‚Í–¢’è‹`’l�iundef�j‚É‚È‚è�A ‘æ“ñˆø�”‚̓oƒCƒg‚ð•\‚·•„�†‚È‚µ�®�”’l‚É‚È‚è‚Ü‚·�B •”•ª•¶Žš‚Å‚È‚¯‚ê‚Î�A‘æˆêˆø�”‚Í�AUnicode•¶Žš‚Ì•„�†ˆÊ’u‚ð•\‚· •„�†‚È‚µ�®�”’l‚É‚È‚è‚Ü‚·�B
—Ⴆ‚Î�ACP-932 ‚ւ̑Ήž‚ª‚È‚¢•¶Žš‚ð HTML 4.01 ‚Ì�”’l•¶ŽšŽQ�Æ‚É •ÏŠ·‚·‚é•û–@‚ðŽ¦‚µ‚Ü‚·�B
sub toHexNCR { my ($char, $byte) = @_; return sprintf("&#x%x;", $char) if defined $char; die sprintf "illegal byte 0x%02x was found", $byte; } $cp932 = utf8_to_cp932 (\&toHexNCR, $utf8_string); $cp932 = unicode_to_cp932(\&toHexNCR, $unicode_string); $cp932 = utf16le_to_cp932(\&toHexNCR, $utf16le_string);
UNICODE_CALLBACK ‚Ì•Ô‚è’l‚Í CP-932 ‚Æ‚µ‚Ä�³‚µ‚‚ ‚é•K—v‚ª‚ ‚è‚Ü‚·�B
UNICODE_OPTION ‚ð STRING ‚ÌŒã‚É‚¨‚‚±‚Æ‚ª‚Å‚«‚Ü‚·�B ‚±‚ê‚ç‚Í 'fg' ‚â 'gsf' ‚̂悤‚É‘g‚Ý�‡‚킹‚邱‚Æ‚à ‚Å‚«‚Ü‚·�i�‡�˜‚Í”CˆÓ‚Å‚·�j�B
UNICODE_OPTION
'fg'
'gsf'
'g' CP-932 ŠOŽš�iƒ†�[ƒU’è‹`•¶Žš�j[0xF040�`0xF9FC (95�`114‹æ)] ‚É Unicode ‚Ì PUA [0xE000�`0xE757] ‚©‚ç•ÏŠ·‚µ‚Ü‚·�i1880 •¶Žš�j�B 's' CP-932 –¢’è‹`‚̈êƒoƒCƒg•¶Žš‚̑Ήž•t‚¯‚ð’ljÁ‚µ‚Ü‚·�B U+0080 => 0x80, U+F8F0 => 0xA0, U+F8F1 => 0xFD, U+F8F2 => 0xFE, U+F8F3 => 0xFF. 'f' Unicode ‚©‚ç CP-932 ‚Ö‚ÌŠô‚‚©‚Ì‘ã—p“I‚È•ÏŠ· (fallbacks) ‚ð ’ljÁ‚µ‚Ü‚·�Bƒ}ƒbƒsƒ“ƒO‚ª’ljÁ‚³‚ê‚镶Žš‚Í�Alatin-1 —̈æ [U+00A0..U+00FF] ‚Ì‚¤‚¿‚ÌŠô‚‚©‚Ì•¶Žš‚Æ�A•½‰¼–¼‚̃” [U+3094, •Ð‰¼–¼‚̃” (0x8394) ‚É‚È‚è‚Ü‚·] ‚Å‚·�B
utf8_to_cp932([UNICODE_CALLBACK,] STRING [, UNICODE_OPTION])
UTF-8 ‚ð CP-932 ‚É•ÏŠ·‚µ‚Ü‚·�B
unicode_to_cp932([UNICODE_CALLBACK,] STRING [, UNICODE_OPTION])
Unicode ‚ð CP-932 ‚É•ÏŠ·‚µ‚Ü‚·�B
‚±‚Ì Unicode ‚Í�APerl ‚Ì“à•”Œ`Ž®�iperlunicode ŽQ�Æ�j�B SVf_UTF8 ƒtƒ‰ƒO•t‚«‚Å‚È‚¢�ê�‡�AISO 8859-1 (latin1) •¶Žš—ñ‚Æ‚µ‚Ä Unicode ‚É upgrade ‚³‚ê‚Ü‚·�B
utf16_to_cp932([UNICODE_CALLBACK,] STRING [, UNICODE_OPTION])
UTF-16 (BOM •t‚«‚Ü‚½‚Í–³‚µ) ‚ð CP-932 ‚É•ÏŠ·‚µ‚Ü‚·�B
BOM
utf16le_to_cp932([UNICODE_CALLBACK,] STRING [, UNICODE_OPTION])
UTF-16LE ‚ð CP-932 ‚É•ÏŠ·‚µ‚Ü‚·�B
utf16be_to_cp932([UNICODE_CALLBACK,] STRING [, UNICODE_OPTION])
UTF-16BE ‚ð CP-932 ‚É•ÏŠ·‚µ‚Ü‚·�B
utf32_to_cp932([UNICODE_CALLBACK,] STRING [, UNICODE_OPTION])
UTF-32 (BOM •t‚«‚Ü‚½‚Í–³‚µ) ‚ð CP-932 ‚É•ÏŠ·‚µ‚Ü‚·�B
utf32le_to_cp932([UNICODE_CALLBACK,] STRING [, UNICODE_OPTION])
UTF-32LE ‚ð CP-932 ‚É•ÏŠ·‚µ‚Ü‚·�B
utf32be_to_cp932([UNICODE_CALLBACK,] STRING [, UNICODE_OPTION])
UTF-32BE ‚ð CP-932 ‚É•ÏŠ·‚µ‚Ü‚·�B
ƒfƒtƒHƒ‹ƒg:
cp932_to_utf8 utf8_to_cp932 cp932_to_utf16le utf16le_to_cp932 cp932_to_utf16be utf16be_to_cp932 cp932_to_unicode unicode_to_cp932 (XS ‚Ì‚Ý‚Å’ñ‹Ÿ‚³‚ê‚Ü‚·)
—v‹�‚³‚ê‚ê‚Î:
cp932_to_utf32le utf32le_to_cp932 cp932_to_utf32be utf32be_to_cp932 utf16_to_cp932 [*] utf32_to_cp932 [*]
[*] ‚±‚ê‚ç‚ƑΉž‚·‚ׂ« cp932_to_utf16() ‚¨‚æ‚Ñ cp932_to_utf32() ‚Í–¢ŽÀ‘•‚Å‚·�B‚Ü‚¾ SJIS_CALLBACK ‚Ì•Ô‚è’l‚ɂ‚¢‚Ä‚à‚¤�‚µŒŸ“¢‚ª •K—v‚Æ�l‚¦‚Ä‚¢‚Ü‚·�B �i•¶Žš—ñ‚̘AŒ‹‚É BOM ‚Ì”FŽ¯‚Æ�ˆ—�‚ª•K—v‚Æ‚È‚é‚Å‚µ‚傤�B�j
cp932_to_utf16()
cp932_to_utf32()
‚±‚̃‚ƒWƒ…�[ƒ‹‚Ì Pure Perl ”ł̓�ƒCƒh•¶Žš�iperlunicode ‚ðŽQ�Æ�j‚ð —�‰ð‚Å‚«‚Ü‚¹‚ñ�B•K—v‚È‚ç�APerl 5.7 ˆÈ�~‚Ì utf8::decode/utf8::encode�iutf8 ‚ðŽQ�Æ�j‚ðŽg‚Á‚Ä‚‚¾‚³‚¢�B
utf8::decode
utf8::encode
SADAHIRO Tomoyuki <SADAHIRO@cpan.org> �i’åœA ’m�s�j
Copyright(C) 2001-2007, SADAHIRO Tomoyuki. Japan. All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Conversion Problem Between Shift-JIS and Unicode
http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT
http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit932.txt
http://www.microsoft.com/globaldev/reference/dbcs/932.htm
1 POD Error
The following errors were encountered while parsing the POD:
Non-ASCII character seen before =encoding in '–¼�Ì'. Assuming CP1252
To install ShiftJIS::CP932::MapUTF, copy and paste the appropriate command in to your terminal.
cpanm
cpanm ShiftJIS::CP932::MapUTF
CPAN shell
perl -MCPAN -e shell install ShiftJIS::CP932::MapUTF
For more information on module installation, please visit the detailed CPAN module installation guide.