- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SJIS→UTF-8の文字コード変換)
SJIS→UTF-8の文字コード変換の方法とエラー対処法
このQ&Aのポイント
- Perlを使用して、SJISの16進で表記された文字をUTF-8に変換する方法について説明します。
- Unicodeの16進文字コードを使用して表示する際にエラーが発生する場合の対処法も紹介します。
- SJISとUnicodeの句点の表示方法には違いがあり、エラーが発生することがあるため、変換方法について注意が必要です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
use encoding "Shift_JIS"; use Encode; $a = chr(0x81).chr(0x42); $a = decode("Shift_JIS", $a); printf("句点の表示…%s\n",$a); printf("句点の表示…%c\n",0x3002);
その他の回答 (3)
- vsba23895
- ベストアンサー率58% (18/31)
回答No.4
失礼、下記の間違い。 $a= pack("H*",'8142');
- vsba23895
- ベストアンサー率58% (18/31)
回答No.3
>$a = 0x8142; 意図は分りますが、perl でなら、 $a= unpack("H*",'8142'); これで、他はそのままで動くでしょう。
- SHOO-3
- ベストアンサー率56% (28/50)
回答No.1
質問の要領を得ませんが、一応回答。 $a = 0x8142; # 数値0x8142をShiftJisのマルチバイト文字「。」(0x81, 0x42)にする $a = pack("C2", $a>>8, $a&0xff); # マルチバイト文字「。」(0x81, 0x42)をワイドキャラクター「。」(\x{3002})にする use Encode; $a = Encode::decode("shiftjis", $a); こんなかんじかな?どういった出力を得たいのかが不明瞭なので、勝手に解釈して返答させていただきます。