- 締切済み
文字コードの変換
こんばんは。よろしくお願いいたします。 「あ」を文字コードにするとe38182(utf-8) a4a2(euc) 82a0(ShiftJIS) のようになりますが、文字コードから文字を復号(e38182→あ)するには どのようにしたらよいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- pick52
- ベストアンサー率35% (166/466)
回答No.2
おっと、書き忘れ。 ただし、この方法だと [0-9a-f]{2} が含まれていて文字コードでない 部分までデコードされてしまったり、EUC-JPやUTF-8などで一文字が 奇数バイトになる場合に一番最初のコードの先頭に0を付けて偶数 バイトにする必要があるなどの点には気をつけてください。 ・・・あとは、注意点なかったかな。
- pick52
- ベストアンサー率35% (166/466)
回答No.1
よくあるCGIリクエストクエリのデコード方法をそのまま使用すれば いいのでは。 $val = 'e38182'; $val =~ s/([0-9a-f]{2})/pack('C', hex($1))/egi; print $val; exit;
お礼
ご回答ありがとうございます。 およそうまく行きました。 もう少しいじくってみたいと思います。