デコード
| 日本語 | 復号化 |
| 英語 | decode |
| ふりがな | でこーど |
| フリガナ | デコード |
エンコードされた情報を、エンコード前の状態に戻すこと。
あるものを「コード」に変換することを「エンコード」と言う。そのエンコードしたものを元に戻すことを「デコード」と言う。
ただし、「エンコード」を定義するためには、どちらが「元の状態」かを示す必要があるが、エンコード前と後の両方ともコードの場合にはそれは主観に寄るため、定義が難しい。
そのため、元に戻す場合も「エンコード」と言うことが多く、結果、「デコード」という単語はあまり使用されない傾向にある。
あるものを「コード」に変換することを「エンコード」と言う。そのエンコードしたものを元に戻すことを「デコード」と言う。
ただし、「エンコード」を定義するためには、どちらが「元の状態」かを示す必要があるが、エンコード前と後の両方ともコードの場合にはそれは主観に寄るため、定義が難しい。
そのため、元に戻す場合も「エンコード」と言うことが多く、結果、「デコード」という単語はあまり使用されない傾向にある。
参考サイト
// Sample.java
import java.io.UnsupportedEncodingException;
public class Sample
{
public static void main( String[] args )
{
try
{
String source = "あいう";
System.out.println( source );
// あいう
// Unicodeとして格納されている文字列"あいうえお"を、
// シフトJISとして取り出します。
// 「シフトJISへのコード化」つまり「エンコード」するわけです。
byte[] bytes = source.getBytes( "Shift_JIS" );
for( int iF1 = 0; iF1 < bytes.length; ++iF1 )
{
System.out.println( Integer.toHexString( bytes[iF1] ) );
}
// ffffff82
// ffffffa0
// ffffff82
// ffffffa2
// ffffff82
// ffffffa4
// これを元に戻すのが「デコード」です。
String string = new String( bytes, "Shift_JIS" );
System.out.println( string );
// あいう
// ただし、この例では「Unicodeの文字列」を主観としています。
// 入力時にシフトJISだった場合にはシフトJISからUnicodeに変換する
// ことが「エンコード」になります。
// そもそも、人間にとっては、コンピューター向けに「整数値化された文字」
// はそれそのものが「エンコードされたもの」と言えます。
}
catch( UnsupportedEncodingException e )
{
// StringクラスのコンストラクタがUnsupportedEncodingException例外を
// 投げるので拾います。第2引数で渡された文字コード
// (上記の例では「Shift_JIS」)が、Javaではサポート
// されていない文字コードの場合にエラーとなります。
e.printStackTrace();
}
}
}
import java.io.UnsupportedEncodingException;
public class Sample
{
public static void main( String[] args )
{
try
{
String source = "あいう";
System.out.println( source );
// あいう
// Unicodeとして格納されている文字列"あいうえお"を、
// シフトJISとして取り出します。
// 「シフトJISへのコード化」つまり「エンコード」するわけです。
byte[] bytes = source.getBytes( "Shift_JIS" );
for( int iF1 = 0; iF1 < bytes.length; ++iF1 )
{
System.out.println( Integer.toHexString( bytes[iF1] ) );
}
// ffffff82
// ffffffa0
// ffffff82
// ffffffa2
// ffffff82
// ffffffa4
// これを元に戻すのが「デコード」です。
String string = new String( bytes, "Shift_JIS" );
System.out.println( string );
// あいう
// ただし、この例では「Unicodeの文字列」を主観としています。
// 入力時にシフトJISだった場合にはシフトJISからUnicodeに変換する
// ことが「エンコード」になります。
// そもそも、人間にとっては、コンピューター向けに「整数値化された文字」
// はそれそのものが「エンコードされたもの」と言えます。
}
catch( UnsupportedEncodingException e )
{
// StringクラスのコンストラクタがUnsupportedEncodingException例外を
// 投げるので拾います。第2引数で渡された文字コード
// (上記の例では「Shift_JIS」)が、Javaではサポート
// されていない文字コードの場合にエラーとなります。
e.printStackTrace();
}
}
}
// Sample.java
import java.io.UnsupportedEncodingException;
public class Sample
{
public static void main( String[] args )
{
try
{
String source = "あいう";
System.out.println( source );
// あいう
// Unicodeとして格納されている文字列"あいうえお"を、
// シフトJISとして取り出します。
// 「シフトJISへのコード化」つまり「エンコード」するわけです。
byte[] bytes = source.getBytes( "Shift_JIS" );
for( int iF1 = 0; iF1 < bytes.length; ++iF1 )
{
System.out.println( Integer.toHexString( bytes[iF1] ) );
}
// ffffff82
// ffffffa0
// ffffff82
// ffffffa2
// ffffff82
// ffffffa4
// これを元に戻すのが「デコード」です。
String string = new String( bytes, "Shift_JIS" );
System.out.println( string );
// あいう
// ただし、この例では「Unicodeの文字列」を主観としています。
// 入力時にシフトJISだった場合にはシフトJISからUnicodeに変換する
// ことが「エンコード」になります。
// そもそも、人間にとっては、コンピューター向けに「整数値化された文字」
// はそれそのものが「エンコードされたもの」と言えます。
}
catch( UnsupportedEncodingException e )
{
// StringクラスのコンストラクタがUnsupportedEncodingException例外を
// 投げるので拾います。第2引数で渡された文字コード
// (上記の例では「Shift_JIS」)が、Javaではサポート
// されていない文字コードの場合にエラーとなります。
e.printStackTrace();
}
}
}




