URLEncoder
日本語 | 資源指定方式変換器 |
英語 | Uniform Resource Locator encoder |
ふりがな | ゆーあーるえるえんこーだー |
フリガナ | ユーアールエルエンコーダー |
リクエストパラメーターに日本語を渡す時に変換するクラス。
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.net.URLEncoder。
文字列を「%xx」の形式に変換するクラス。
URLEncoderクラスのencode()メソッドを使用することで、文字列を「%xx」の形式に変換する。
これは、リクエストパラメーターには半角英数字しか使用できないためである。
たとえば、日本語に限らず「&」や「=」という文字が含まれていたら、リクエストパラメーターから「名前」と「値」を適切に取得することができない。また、日本語がこれらの文字と間違われることもある。
これらを避けるため、「%xx」の形式に変換するのがURLEncoderクラスのencode()メソッドである。
encode()メソッドの第2引数には、変換後の文字コードを指定する。ここには、IANAで指定された文字コードの名称を渡す。
特に文字コードは決められておらず、その文字コードを受け取る側で「この文字コードでなければならない」と決めるか、もしくはリクエストパラメーターで文字コードの指定も渡してもらう。
変換後の文字列を元の文字列に戻すにはURLDecoderクラスのdecode()メソッドを使用する。
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.net.URLEncoder。
文字列を「%xx」の形式に変換するクラス。
URLEncoderクラスのencode()メソッドを使用することで、文字列を「%xx」の形式に変換する。
これは、リクエストパラメーターには半角英数字しか使用できないためである。
たとえば、日本語に限らず「&」や「=」という文字が含まれていたら、リクエストパラメーターから「名前」と「値」を適切に取得することができない。また、日本語がこれらの文字と間違われることもある。
これらを避けるため、「%xx」の形式に変換するのがURLEncoderクラスのencode()メソッドである。
encode()メソッドの第2引数には、変換後の文字コードを指定する。ここには、IANAで指定された文字コードの名称を渡す。
特に文字コードは決められておらず、その文字コードを受け取る側で「この文字コードでなければならない」と決めるか、もしくはリクエストパラメーターで文字コードの指定も渡してもらう。
変換後の文字列を元の文字列に戻すにはURLDecoderクラスのdecode()メソッドを使用する。
// Sample.java
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.net.URLDecoder;
public class Sample
{
public static void main( String[] args )
{
try
{
// 文字列「あいうえお」を、文字コードUTF-8で変換します。
String string = URLEncoder.encode( "あいうえお", "UTF-8" );
System.out.println( string );
// %E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A
// 元に戻します。
string = URLDecoder.decode( string, "UTF-8" );
System.out.println( string );
// あいうえお
}
catch( UnsupportedEncodingException e )
{
// encode()メソッドの第2引数に渡した文字コードが、Javaの
// サポートしていない文字コードの場合にはこの
// UnsupportedEncodingException例外が投げられます。
e.printStackTrace();
}
}
}
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.net.URLDecoder;
public class Sample
{
public static void main( String[] args )
{
try
{
// 文字列「あいうえお」を、文字コードUTF-8で変換します。
String string = URLEncoder.encode( "あいうえお", "UTF-8" );
System.out.println( string );
// %E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A
// 元に戻します。
string = URLDecoder.decode( string, "UTF-8" );
System.out.println( string );
// あいうえお
}
catch( UnsupportedEncodingException e )
{
// encode()メソッドの第2引数に渡した文字コードが、Javaの
// サポートしていない文字コードの場合にはこの
// UnsupportedEncodingException例外が投げられます。
e.printStackTrace();
}
}
}
// Sample.java import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.net.URLDecoder; public class Sample { public static void main( String[] args ) { try { // 文字列「あいうえお」を、文字コードUTF-8で変換します。 String string = URLEncoder.encode( "あいうえお", "UTF-8" ); System.out.println( string ); // %E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A // 元に戻します。 string = URLDecoder.decode( string, "UTF-8" ); System.out.println( string ); // あいうえお } catch( UnsupportedEncodingException e ) { // encode()メソッドの第2引数に渡した文字コードが、Javaの // サポートしていない文字コードの場合にはこの // UnsupportedEncodingException例外が投げられます。 e.printStackTrace(); } } }