Webプログラミング研究所〜初心者・中級者Webプログラマ(CGI・Perl・PHP・Javaプログラム言語)のための支援サイト〜 「Webプログラミング研究所」TOPへ 「Webプログラミング研究所」TOPへ
 
「プログラミングサンプル集」TOPへ 「プログラミングサンプル集」TOPへ
 
目次をフレームで表示 目次をフレームで表示
 

マルチバイト文字列をデコードする

 
概要
エンコードされたURLやCookieのマルチバイト文字列を元に戻す時に使用します。
 
Perl 次のように正規表現を使用します。

サンプルソース
$str = "%82%A0%82%A2%82%A4%82%A6%82%A8";
$str = &urldecode($str);
print $str;

sub urldecode {
  my($str) = @_;
  $str =~ tr/+/ /;
  $str =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/ego;
  return $str;
}

実行結果
あいうえお
 
PHP urldecode()関数を使用します。

サンプルソース
<?php
  $str = "%82%A0%82%A2%82%A4%82%A6%82%A8";
  $str = urldecode($str);
  echo $str;
?>

実行結果
あいうえお
 
Java java.net.URLDecoderクラスのdecode()メソッドを使用します。

サンプルソース
import java.net.URLDecoder;
import java.io.UnsupportedEncodingException;

public class UrlDecode {
  public static void main(String[] args) {
    String str = "%82%A0%82%A2%82%A4%82%A6%82%A8";
    try {
      str = URLDecoder.decode(str, "SJIS");
      System.out.println(str);
    } catch (UnsupportedEncodingException e) {
    }
  }
}

実行結果
あいうえお

NOTE
JDK1.4から、decode(String s)メソッドは非推奨になりました。
decode(String s, String enc)メソッドが推奨されています。

public static String decode(String s, String enc) throws UnsupportedEncodingException

パラメータ:
  s - デコード対象の文字列
  enc - 文字コード
 
NOTE
 
ご意見箱コーナー (管理者宛てメール)
このページは、あなたの参考になりましたか?

参考になった  どちらともいえない  あまり参考にならなかった

ご意見・ご感想・ご要望がありましたら、ご記入いただければ幸いです。
今後のコンテンツ作成、ページ改善等の参考にさせていただきます。

 


Webプログラマになりたい人のためのスクール・講座情報

クリエイターの皆さん!お仕事ありますよ!フェローズに!

パソコンスクールガイド
積極的な情報収集が目標実現の近道です。

就職・起業・SOHO・それとも副業? デジハリがノウハウを伝授!

就転職に強い、資格取得スキルアップ専門校ヒューマンアカデミー

CsideNet レンタルサーバー サブドメイン型 780円/月
CGI/SSI/PHP、データベース(MySQL)が利用できます。1週間の試用期間があるのがGood!!

転職・派遣・就職・アルバイトの求人情報検索支援サイト 〜 14ALL JOB SEARCH 〜
 
 
  「Webプログラミング研究所」TOPへ 「Webプログラミング研究所」TOPへ
 
「プログラミングサンプル集」TOPへ 「プログラミングサンプル集」TOPへ
 
目次をフレームフレームで表示 目次をフレームで表示

Copyright (C) 2004 - 2005 IWAMODE Project All Rights Reserved.