Encodingとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 日本語表現辞典 > Encodingの意味・解説 

encoding

別表記:エンコーディング

「encoding」の意味・「encoding」とは

「encoding」は情報科学コンピュータ科学領域頻繁に用いられる言葉である。一般的には情報特定の形式コード変換するプロセスを指す。例えば、文字情報コンピュータ理解できるバイナリコード変換することも「encoding」と言うこのような変換は、情報保存転送、処理を可能にする。

「encoding」の発音・読み方

「encoding」の発音は、IPA表記では /ɪnˈkoʊdɪŋ/ となる。IPAカタカナ読みでは「インコーディング」となる。日本人発音するカタカナ英語では「エンコーディング」と読む。

「encoding」の定義を英語で解説

「encoding」は、"The process of converting data or information into a specific format or code, especially for the purposes of standardization, speed, secrecy, security, or saving space"と定義される。つまり、標準化速度向上、秘密保持セキュリティ強化、またはスペース節約のために、データ情報特定の形式コード変換するプロセスを指す。

「encoding」の類語

「encoding」の類語としては、「transcoding」、「ciphering」、「encrypting」などがある。「transcoding」は特定の形式から別の形式変換することを指し、「ciphering」や「encrypting」は情報暗号化するプロセスを指す。

「encoding」に関連する用語・表現

「encoding」に関連する用語としては、「decoding」、「code」、「data compression」、「encryption」などがある。「decoding」は「encoding」の逆のプロセスで、エンコードされたデータを元の形式に戻すことを指す。「code」は情報表現するためのシステム規則指し、「data compression」はデータをより小さサイズ圧縮するプロセスを指す。「encryption」は情報読み取り不能な形式変換することで、その情報安全性を保つ手段である。

「encoding」の例文

以下に、「encoding」を用いた例文10個示す。 1. The process of encoding the data was completed without any errors.(データエンコード処理はエラーなく完了した。)
2. Encoding information into binary code allows computers to process it.(情報バイナリコードエンコードすることで、コンピュータがそれを処理できる。)
3. The software is capable of encoding and decoding the files.(そのソフトウェアファイルエンコードし、デコードすることができる。)
4. Encoding the message ensures its security during transmission.(メッセージエンコードすることで、その伝送中の安全性確保される。)
5. The encoding scheme used in this system is complex.(このシステム使用されているエンコードスキームは複雑である。)
6. The video file needs to be encoded before it can be uploaded.(ビデオファイルアップロードする前にエンコードする必要がある。)
7. The encoding process can take a long time for large files.(大きなファイルエンコード処理は時間がかかることがある。)
8. Different encoding standards are used for different types of data.(異な種類データには異なエンコード標準使用される。)
9. The encoding of the audio file reduced its size significantly.(オーディオファイルエンコードにより、そのサイズ大幅に縮小された。)
10. The encoding error caused the data to be unreadable.(エンコードエラーにより、データ読み取り不能となった。)

エンコーディング【encoding】

読み方:えんこーでぃんぐ

エンコード


Encoding クラス

文字エンコーディング表します

名前空間: System.Text
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public MustInherit Class
 Encoding
    Implements ICloneable
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public abstract class Encoding : ICloneable
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class Encoding abstract : ICloneable
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public abstract class Encoding implements ICloneable
SerializableAttribute 
ComVisibleAttribute(true) 
public abstract class Encoding implements ICloneable
解説解説

エンコーディングは、Unicode 文字セットバイト シーケンス変換するプロセスです。デコードはその逆になりますエンコードされたバイト シーケンスUnicode 文字セット変換するプロセスです。

Unicode Standard では、サポートされすべてのスクリプトについて、各文字コード ポイント (数値) を割り当ててます。コード ポイントエンコードには UTF (Unicode Transformation Format) が使用されます。Unicode Standard バージョン 3.2 では、次の UTF使用されています。

.NET Framework では、現在の Unicode エンコーディング、および他のエンコーディングサポートするため、次のような Encoding クラス実装しています。

その他のエンコーディング取得するには、GetEncoding メソッド使用しますエンコーディングの一覧を取得するには、GetEncodings メソッド使用します

次の表は、エンコーディングと、それに関連付けられたコード ページの一覧を示してます。最後の列にアスタリスク (*) が付いているコード ページは、基になるプラットフォームに関係なく、.NET Frameworkネイティブサポートされています。

コード ページ

名前

表示名

37

IBM037

IBM EBCDIC (US - カナダ)

437

IBM437

OEM アメリカ合衆国

500

IBM500

IBM EBCDIC (インターナショナル)

708

ASMO-708

アラビア語 (ASMO 708)

720

DOS-720

アラビア語 (DOS)

737

ibm737

ギリシャ語 (DOS)

775

ibm775

バルト言語 (DOS)

850

ibm850

西ヨーロッパ言語 (DOS)

852

ibm852

中央ヨーロッパ言語 (DOS)

855

IBM855

OEM キリル

857

ibm857

トルコ語 (DOS)

858

IBM00858

OEM マルチリンガル ラテン I

860

IBM860

ポルトガル語 (DOS)

861

ibm861

アイスランド語 (DOS)

862

DOS-862

ヘブライ語 (DOS)

863

IBM863

フランス語 (カナダ) (DOS)

864

IBM864

アラビア語 (864)

865

IBM865

北欧 (DOS)

866

cp866

キリル言語 (DOS)

869

ibm869

ギリシャ語, Modern (DOS)

870

IBM870

IBM EBCDIC (多国ラテン 2)

874

windows-874

タイ語 (Windows)

875

cp875

IBM EBCDIC (ギリシャ語 Modern)

932

shift_jis

日本語 (シフト JIS)

936

gb2312

簡体字中国語 (GB2312)

*

949

ks_c_5601-1987

韓国語

950

big5

繁体字中国語 (Big5)

1026

IBM1026

IBM EBCDIC (トルコ語ラテン 5)

1047

IBM01047

IBM ラテン-1

1140

IBM01140

IBM EBCDIC (US - カナダ - ヨーロッパ)

1141

IBM01141

IBM EBCDIC (ドイツ - ヨーロッパ)

1142

IBM01142

IBM EBCDIC (デンマーク - ノルウェー - ヨーロッパ)

1143

IBM01143

IBM EBCDIC (フィンランド - スウェーデン - ヨーロッパ)

1144

IBM01144

IBM EBCDIC (イタリア - ヨーロッパ)

1145

IBM01145

IBM EBCDIC (スペイン - ヨーロッパ)

1146

IBM01146

IBM EBCDIC (UK - ヨーロッパ)

1147

IBM01147

IBM EBCDIC (フランス - ヨーロッパ)

1148

IBM01148

IBM EBCDIC (インターナショナル - ヨーロッパ)

1149

IBM01149

IBM EBCDIC (アイスランド語 - ヨーロッパ)

1200

utf-16

Unicode

*

1201

unicodeFFFE

Unicode (Big-Endian)

*

1250

windows-1250

中央ヨーロッパ言語 (Windows)

1251

windows-1251

キリル言語 (Windows)

1252

Windows -1252

西ヨーロッパ言語 (Windows)

*

1253

windows-1253

ギリシャ語 (Windows)

1254

windows-1254

トルコ語 (Windows)

1255

windows-1255

ヘブライ語 (Windows)

1256

windows-1256

アラビア語 (Windows)

1257

windows-1257

バルト言語 (Windows)

1258

windows-1258

ベトナム語 (Windows)

1361

Johab

韓国語 (Johab)

10000

macintosh

西ヨーロッパ言語 (Mac)

10001

x-mac-japanese

日本語 (Mac)

10002

x-mac-chinesetrad

繁体字中国語 (Mac)

10003

x-mac-korean

韓国語 (Mac)

*

10004

x-mac-arabic

アラビア語 (Mac)

10005

x-mac-hebrew

ヘブライ語 (Mac)

10006

x-mac-greek

ギリシャ語 (Mac)

10007

x-mac-cyrillic

キリル言語 (Mac)

10008

x-mac-chinesesimp

簡体字中国語 (Mac)

*

10010

x-mac-romanian

ルーマニア語 (Mac)

10017

x-mac-ukrainian

ウクライナ語 (Mac)

10021

x-mac-thai

タイ語 (Mac)

10029

x-mac-ce

中央ヨーロッパ言語 (Mac)

10079

x-mac-icelandic

アイスランド語 (Mac)

10081

x-mac-turkish

トルコ語 (Mac)

10082

x-mac-croatian

クロアチア語 (Mac)

20000

x-Chinese-CNS

繁体字中国語 (CNS)

20001

x-cp20001

TCA 台湾

20002

x-Chinese-Eten

繁体字中国語 (Eten)

20003

x-cp20003

IBM5550 台湾

20004

x-cp20004

TeleText 台湾

20005

x-cp20005

Wang 台湾

20105

x-IA5

西ヨーロッパ言語 (IA5)

20106

x-IA5-German

ドイツ語 (IA5)

20107

x-IA5-Swedish

スウェーデン語 (IA5)

20108

x-IA5-Norwegian

ノルウェー語 (IA5)

20127

us-ascii

US-ASCII

*

20261

x-cp20261

T.61

20269

x-cp20269

ISO -6937

20273

IBM273

IBM EBCDIC (ドイツ)

20277

IBM277

IBM EBCDIC (デンマーク - ノルウェー)

20278

IBM278

IBM EBCDIC (フィンランド - スウェーデン)

20280

IBM280

IBM EBCDIC (イタリア)

20284

IBM284

IBM EBCDIC (スペイン)

20285

IBM285

IBM EBCDIC (UK)

20290

IBM290

IBM EBCDIC (日本語カタカナ)

20297

IBM297

IBM EBCDIC (フランス)

20420

IBM420

IBM EBCDIC (アラビア語)

20423

IBM423

IBM EBCDIC (ギリシャ語)

20424

IBM424

IBM EBCDIC (ヘブライ語)

20833

x-EBCDIC-KoreanExtended

IBM EBCDIC (韓国語 Extended)

20838

IBM-Thai

IBM EBCDIC (タイ語)

20866

koi8-r

キリル言語 (KOI8-R)

20871

IBM871

IBM EBCDIC (アイスランド語)

20880

IBM880

IBM EBCDIC (キリル言語 - ロシア語)

20905

IBM905

IBM EBCDIC (トルコ語)

20924

IBM00924

IBM ラテン-1

20932

EUC-JP

日本語 (JIS 0208-1990 および 0212-1990)

20936

x-cp20936

簡体字中国語 (GB2312-80)

*

20949

x-cp20949

韓国語 Wansung

*

21025

cp1025

IBM EBCDIC (キリル言語 セルビア - ブルガリア)

21866

koi8-u

キリル言語 (KOI8-U)

28591

iso-8859-1

西ヨーロッパ言語 (ISO)

*

28592

iso-8859-2

中央ヨーロッパ言語 (ISO)

28593

iso-8859-3

ラテン 3 (ISO)

28594

iso-8859-4

バルト言語 (ISO)

28595

iso-8859-5

キリル言語 (ISO)

28596

iso-8859-6

アラビア語 (ISO)

28597

iso-8859-7

ギリシャ語 (ISO)

28598

iso-8859-8

ヘブライ語 (ISO-Visual)

*

28599

iso-8859-9

トルコ語 (ISO)

28603

iso-8859-13

エストニア語 (ISO)

28605

iso-8859-15

ラテン 9 (ISO)

29001

x-Europa

ヨーロッパ

38598

iso-8859-8-i

ヘブライ語 (ISO-Logical)

*

50220

iso-2022-jp

日本語 (JIS)

*

50221

csISO2022JP

日本語 (JIS 1 バイト カタカナ可)

*

50222

iso-2022-jp

日本語 (JIS 1 バイト カタカナ可 - SO/SI)

*

50225

iso-2022-kr

韓国語 (ISO)

*

50227

x-cp50227

簡体字中国語 (ISO-2022)

*

51932

euc-jp

日本語 (EUC)

*

51936

EUC-CN

簡体字中国語 (EUC)

*

51949

euc-kr

韓国語 (EUC)

*

52936

hz-gb-2312

簡体字中国語 (HZ)

*

54936

GB18030

簡体字中国語 (GB18030)

*

57002

x-iscii-de

ISCII デバナガリ文字

*

57003

x-iscii-be

ISCII ベンガル語

*

57004

x-iscii-ta

ISCII タミール語

*

57005

x-iscii-te

ISCII テルグ語

*

57006

x-iscii-as

ISCII アッサム語

*

57007

x-iscii-or

ISCII オリヤー語

*

57008

x-iscii-ka

ISCII カナラ語

*

57009

x-iscii-ma

ISCII マラヤラム語

*

57010

x-iscii-gu

ISCII グジャラート語

*

57011

x-iscii-pa

ISCII パンジャブ語

*

65000

utf-7

Unicode (UTF-7)

*

65001

utf-8

Unicode (UTF-8)

*

65005

utf-32

Unicode (UTF-32)

*

65006

utf-32BE

Unicode (UTF-32 ビッグ エンディアン)

*

GetByteCount メソッドは、Unicode 文字セットエンコードした結果得られるバイト数を確認します実際エンコードは、GetBytes メソッドによって実行されます。

同様に、GetCharCount メソッドは、バイト シーケンスデコードした結果得られる文字数確認します実際デコードは GetChars メソッドによって実行されます。

変換するデータ一連のブロックの形でのみ得られる場合 (ストリームから読み込むデータなど)、または、データ容量大きいために小さなブロック分割する必要がある場合は、派生クラスの GetDecoder メソッド得られる Decoder、または GetEncoder メソッド得られる Encoder使用します

UTF-16 エンコーダおよび UTF-32 エンコーダでは、最上位バイト先頭配置されるビッグ エンディアン バイト順、または最下位バイト先頭配置されるリトル エンディアン バイト順が使用されます。たとえば、アルファベット大文字 A (U+0041) は次のように 16 進数シリアル化されます

Encoding は、オプションプリアンブル提供しますプリアンブルは、エンコーディング プロセス得られたバイト シーケンス先頭付加できるバイト配列です。プリアンブルバイト順マーク (Unicode では、コード ポイント U+FEFF) が含まれる場合デコーダバイト順および変換形式 (UTF) を判断できますUnicode バイト順マークは、次のように 16 進数シリアル化されます

通常ネイティブバイト順で Unicode 文字格納した方が効率的です。たとえば、Intelコンピュータなど、リトル エンディアンプラットフォームでは、リトル エンディアンバイト順を使用した方が効率的です。

GetPreamble メソッドは、バイト順マーク格納できるバイト配列返します。このバイト配列エンコード済みストリーム前に付加されていると、使用されているエンコーディング形式デコーダ識別するのに役立ちます

バイト順とバイト順マーク詳細については、www.unicode.org の「Unicode Standard」を参照してください

使用例使用例

次のコード例は、あるエンコーディングから別のエンコーディング文字列変換してます。

Imports System
Imports System.Text
Imports Microsoft.VisualBasic

Namespace Convert_Example
    Class MyConvertExampleClass
        Shared Sub Main()
            Dim unicodeString As String
 = "This string contains the unicode character Pi("
 & ChrW(&H03A0) & ")"

            ' Create two different encodings.
            Dim ascii As Encoding = Encoding.ASCII
            Dim [unicode] As Encoding = Encoding.Unicode

            ' Convert the string into a byte[].
            Dim unicodeBytes As Byte()
 = [unicode].GetBytes(unicodeString)

            ' Perform the conversion from one encoding to the other.
            Dim asciiBytes As Byte()
 = Encoding.Convert([unicode], ascii, unicodeBytes)

            ' Convert the new byte[] into a char[] and then into a string.
            ' This is a slightly different approach to converting to
 illustrate
            ' the use of GetCharCount/GetChars.
            Dim asciiChars(ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length))
 As Char
            ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0)
            Dim asciiString As New
 String(asciiChars)

            ' Display the strings created before and after the conversion.
            Console.WriteLine("Original string: {0}",
 unicodeString)
            Console.WriteLine("Ascii converted string: {0}",
 asciiString)
        End Sub
    End Class
End Namespace
using System;
using System.Text;

namespace ConvertExample
{
   class ConvertExampleClass
   {
      static void Main()
      {
         string unicodeString = "This string
 contains the unicode character Pi(\u03a0)";

         // Create two different encodings.
         Encoding ascii = Encoding.ASCII;
         Encoding unicode = Encoding.Unicode;

         // Convert the string into a byte[].
         byte[] unicodeBytes = unicode.GetBytes(unicodeString);

         // Perform the conversion from one encoding to the other.
         byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes);
            
         // Convert the new byte[] into a char[] and then into a string.
         // This is a slightly different approach to converting to illustrate
         // the use of GetCharCount/GetChars.
         char[] asciiChars = new char[ascii.GetCharCount(asciiBytes,
 0, asciiBytes.Length)];
         ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
         string asciiString = new string(asciiChars);

         // Display the strings created before and after the conversion.
         Console.WriteLine("Original string: {0}", unicodeString);
         Console.WriteLine("Ascii converted string: {0}",
 asciiString);
      }
   }
}
using namespace System;
using namespace System::Text;
int main()
{
   String^ unicodeString = "This string contains the unicode
 character Pi(\u03a0)";
   
   // Create two different encodings.
   Encoding^ ascii = Encoding::ASCII;
   Encoding^ unicode = Encoding::Unicode;
   
   // Convert the string into a Byte->Item[].
   array<Byte>^unicodeBytes = unicode->GetBytes( unicodeString );
   
   // Perform the conversion from one encoding to the other.
   array<Byte>^asciiBytes = Encoding::Convert( unicode, ascii, unicodeBytes
 );
   
   // Convert the new Byte into[] a char and[] then into a string.
   // This is a slightly different approach to converting to illustrate
   // the use of GetCharCount/GetChars.
   array<Char>^asciiChars = gcnew array<Char>(ascii->GetCharCount(
 asciiBytes, 0, asciiBytes->Length ));
   ascii->GetChars( asciiBytes, 0, asciiBytes->Length, asciiChars, 0 );
   String^ asciiString = gcnew String( asciiChars );
   
   // Display the strings created before and after the conversion.
   Console::WriteLine( "Original String*: {0}", unicodeString );
   Console::WriteLine( "Ascii converted String*: {0}", asciiString );
}

package ConvertExample; 

import System.*;
import System.Text.*;

class ConvertExampleClass
{
    public static void main(String[]
 args)
    {
        String unicodeString = 
                "This string contains the unicode character
 Pi(\u03a0)";

        // Create two different encodings.
        Encoding ascii = Encoding.get_ASCII();
        Encoding unicode = Encoding.get_Unicode();

        // Convert the string into a byte[].
        ubyte unicodeBytes[] = unicode.GetBytes(unicodeString);

        // Perform the conversion from one encoding to the other.
        ubyte asciiBytes[] = Encoding.Convert(unicode, ascii, unicodeBytes);

        // Convert the new byte[] into a char[] and then into a string.
        // This is a slightly different approach to converting to illustrate
        // the use of GetCharCount/GetChars.
        char asciiChars[] = new 
                char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.length)];
        ascii.GetChars(asciiBytes, 0, asciiBytes.length, asciiChars, 0);
        String asciiString = new String(asciiChars);

        // Display the strings created before and after the conversion.
        Console.WriteLine("Original string: {0}", unicodeString);
        Console.WriteLine("Ascii converted string: {0}",
 asciiString);
    } //main
} //ConvertExampleClass 
継承階層継承階層
System.Object
  System.Text.Encoding
     派生クラス
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Encoding コンストラクタ ()


Encoding コンストラクタ (Int32)

指定したコード ページ対応する Encoding クラス新しインスタンス初期化します。

名前空間: System.Text
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

例外例外
例外種類条件

ArgumentOutOfRangeException

codePage が 0 未満です。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Encoding コンストラクタ


Encoding プロパティ


Encoding メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Clone 派生クラスオーバーライドされた場合現在の Encoding オブジェクト簡易コピー作成します
パブリック メソッド Convert オーバーロードされますバイト配列を、あるエンコーディングから別のエンコーディング変換します
パブリック メソッド Equals オーバーロードされますオーバーライドされます。  
パブリック メソッド GetByteCount オーバーロードされます派生クラスオーバーライドされた場合文字セットエンコードすることによって生成されるバイト数を計算します
パブリック メソッド GetBytes オーバーロードされます派生クラスオーバーライドされた場合文字セットバイト シーケンスエンコードます。
パブリック メソッド GetCharCount オーバーロードされます派生クラスオーバーライドされた場合バイト シーケンスデコードすることによって生成される文字数計算します
パブリック メソッド GetChars オーバーロードされます派生クラスオーバーライドされた場合バイト シーケンス文字セットデコードます。
パブリック メソッド GetDecoder 派生クラスオーバーライドされた場合エンコード済みバイト シーケンス文字シーケンス変換するデコーダ取得します
パブリック メソッド GetEncoder 派生クラスオーバーライドされた場合Unicode 文字シーケンスエンコード済みバイト シーケンス変換するエンコーダ取得します
パブリック メソッド GetEncoding オーバーロードされます指定したコード ページエンコーディング返します
パブリック メソッド GetEncodings すべてのエンコーディング格納する配列返します
パブリック メソッド GetHashCode オーバーライドされます現在のインスタンスハッシュ コード返します
パブリック メソッド GetMaxByteCount 派生クラスオーバーライドされた場合指定した文字数エンコードすることによって生成される最大バイト数を計算します
パブリック メソッド GetMaxCharCount 派生クラスオーバーライドされた場合指定したバイト数をデコードすることによって生成される最大文字数計算します
パブリック メソッド GetPreamble 派生クラスオーバーライドされた場合使用するエンコーディング指定するバイト シーケンス返します
パブリック メソッド GetString オーバーロードされます派生クラスオーバーライドされた場合バイト シーケンス文字列デコードます。
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド IsAlwaysNormalized オーバーロードされます現在のエンコーディングが常に正規化されるかどうかを示す値を取得します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

Encoding クラス
System.Text 名前空間

Encoding メンバ

文字エンコーディング表します

Encoding データ型公開されるメンバを以下の表に示します


プロテクト コンストラクタプロテクト コンストラクタ
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Clone 派生クラスオーバーライドされた場合現在の Encoding オブジェクト簡易コピー作成します
パブリック メソッド Convert オーバーロードされますバイト配列を、あるエンコーディングから別のエンコーディング変換します
パブリック メソッド Equals オーバーロードされますオーバーライドされます。  
パブリック メソッド GetByteCount オーバーロードされます派生クラスオーバーライドされた場合文字セットエンコードすることによって生成されるバイト数を計算します
パブリック メソッド GetBytes オーバーロードされます派生クラスオーバーライドされた場合文字セットバイト シーケンスエンコードます。
パブリック メソッド GetCharCount オーバーロードされます派生クラスオーバーライドされた場合バイト シーケンスデコードすることによって生成される文字数計算します
パブリック メソッド GetChars オーバーロードされます派生クラスオーバーライドされた場合バイト シーケンス文字セットデコードます。
パブリック メソッド GetDecoder 派生クラスオーバーライドされた場合エンコード済みバイト シーケンス文字シーケンス変換するデコーダ取得します
パブリック メソッド GetEncoder 派生クラスオーバーライドされた場合Unicode 文字シーケンスエンコード済みバイト シーケンス変換するエンコーダ取得します
パブリック メソッド GetEncoding オーバーロードされます指定したコード ページエンコーディング返します
パブリック メソッド GetEncodings すべてのエンコーディング格納する配列返します
パブリック メソッド GetHashCode オーバーライドされます現在のインスタンスハッシュ コード返します
パブリック メソッド GetMaxByteCount 派生クラスオーバーライドされた場合指定した文字数エンコードすることによって生成される最大バイト数を計算します
パブリック メソッド GetMaxCharCount 派生クラスオーバーライドされた場合指定したバイト数をデコードすることによって生成される最大文字数計算します
パブリック メソッド GetPreamble 派生クラスオーバーライドされた場合使用するエンコーディング指定するバイト シーケンス返します
パブリック メソッド GetString オーバーロードされます派生クラスオーバーライドされた場合バイト シーケンス文字列デコードます。
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド IsAlwaysNormalized オーバーロードされます現在のエンコーディングが常に正規化されるかどうかを示す値を取得します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

Encoding クラス
System.Text 名前空間

エンコード

(Encoding から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/03/23 09:30 UTC 版)

エンコード: encode)、符号化(ふごうか)は、アナログ信号やデジタルデータといった情報を、特定の方法で復元可能な別の状態に変換する処理である。対義語はデコード: decode)で、エンコードされた情報を元に戻す復号(ふくごう)の意味を持つ。

一般的にエンコードおよびデコードに用いる機器、回路、プログラムなどをそれぞれ、エンコーダ: encoder、エンコーダーとも)およびデコーダ: decoder、デコーダーとも)と称する。狭義では、音声や動画などのコーデックを用いるデータ圧縮・展開処理を指す。

アナログ信号のエンコードとデコード

録音機器のノイズリダクションで用いられたdbxは、音声信号の大小で増幅率が変化する増幅器を用い、音量の変化を対数比1/2に抑えて録音して再生時に2倍にする。録音機やテープ由来の雑音と歪みは信号に比して小さく、再生時に対数伸長すると一層小さくなり、相対的に可聴音域のSN比が低下する。似た原理の雑音低減装置がHiFiビデオやカセットレコーダに広く用いられた。

ディスクリート4chのレコードで、サブキャリアを変調し重畳して記録することもエンコードと呼ばれた。

FMラジオ放送やLPレコード、アナログテープレコーダでも、クラシック音楽では振幅が比較的小さい高音の成分を予め強調して放送/録音し、再生時に高音を減衰させる方法が取られた。DATCDDTRSのようなデジタル機器でも、同様な方法で見かけの量子化雑音を減らす機能がある。これらは通常エンファシスと呼ぶ。中波放送で放送法に触れない程度まで高域を強調する装置もあった。RIAA特性も参照。

デジタルデータのエンコード/デコード

エンコードは、デジタルデータを一定の法則で目的に応じた符号に変換する符号化作業である。符号化方式に詳述がある。逆変換をデコードと呼ぶ。

音声・静止画・動画などのマルチメディアデータ圧縮や一般的なデジタルデータファイル全般の圧縮あるいは暗号化を指す場合もある。もともとcode(コード)という語は、「符号」や「符号化する」という意味のほかに、「暗号」や「暗号化する」という意味も持つ英単語である[1][2]。ただし、セキュリティ対策手法の意味で「暗号化」を指すときは、英語では一般的に動詞encrypt(エンクリプト)[3]や名詞encryption(エンクリプション)[4]を使い、明確に区別される。日本語では「暗号化」の対義語として「解読」のほかに「復号」も使われるが、英語の対義語は動詞decrypt(デクリプト)[5]や名詞decryption(デクリプション)[6]である。

エンコード機能を有するソフトウェアやハードウェアを「エンコーダ」と称し、逆に復号する機能を有するものを「デコーダ」と称する。情報の通信記録を行う装置によっては、エンコーダとデコーダの両方を備える場合があり、このような双方向の変換機能あるいは変換装置、アルゴリズムなどはコーデックと総称する。

コンピュータマイクロプロセッサでは、与えられた機械語を内部表現として解釈することをデコードと呼び、その論理回路をデコーダと呼ぶ。デコーダを中心に、命令とデータを収集し、演算部に情報を送る機構全体はフロントエンドと称する。

符号化方式

エンコードとデコードで同じ符号化方式(ある順変換とそれに対応する逆変換)を使うことによって、符号から正しいデータが復元されることが担保される。デジタルデータの伝送はこの前提で成り立っている。しかし、異なる方式を用いると符号は正しく復元されず、意味のないデータが生成され、判読不可となる。文字符号化方式の場合は異なる文字コードを使用すると誤った文字に変換され、文字化けの原因となる。例えばShift_JIS形式で記述されているWebページのHTMLファイルをISO-2022-JP形式またはUTF-8Unicode)形式として読み込むと文字化けする[注釈 1]

HTMLエンコード

例えば「&」「<」「>」「"」といった、HTMLとして特殊な意味を持つ文字(特殊文字またはメタ文字)を、意味を持たない別の文字列に置換することを「HTMLエンコード」と呼ぶ。前述の特殊文字の場合は「&amp;」「&lt;」「&gt;」「&quot;」に置換する。この処理を怠ると、input要素などで、メタ文字として扱われるデータの入力を許すことになる。これはクロスサイトスクリプティングなどの脆弱性(セキュリティホール)の原因になる[7][8]

URLエンコード

URLURI)として直接使用できない文字を表現するため、パーセント記号%)を使用して符号化する方式をパーセントエンコーディングと呼ぶ。「URLエンコード」や「URIエンコード」と呼ばれることもある[9]

ハードウェアエンコード/デコード

デジタルカメラデジタルビデオカメラでは、デジタルセンサーから取得した生のマルチメディアデータを加工して、補助記憶装置(ストレージデバイス)に次から次へと符号化しながら静止画や動画のファイルとして保存していく。これらは特にリアルタイム性(即応性)が重要視され、高速かつ高スループットのパイプライン処理性能が欠かせないため、専用設計のICチップがハードウェアエンコーダとして採用される[10]JPEGH.264といった、特によく使われる符号化方式は、機器固有のネイティブデータ形式とともに、専用のICチップに固定機能としてハードウェアレベルで実装されている。

パーソナルコンピュータの場合、ソフトウェアによるエンコード/デコード処理は、デジタルデータに対して任意の符号化方式を柔軟に実装することが可能であるが、高解像度・高精細なメディアデータを大量に処理するのはCPUへの負荷が高い。そのため、パイプライン処理や並列処理に特化したGPUなどによるハードウェアアクセラレーションを活用してCPUの負担を減らすこともよくある[11]。特に動画再生は、画面描画処理を担当するGPUに任せることで、エンコード(圧縮)されたデータをビデオメモリに転送し、画面表示の際に都度デコード(展開)するだけで済むため都合がよい。描画時にGPUによってフレームをリアルタイムに補間することで、実際に記録されている動画データのフレームレート以上に再生を滑らかに見せる技術も開発されている[12]。モバイルデバイスの場合、SoCにハードウェアコーデックが実装されていることが多い。オペレーティングシステムの提供するAPIを利用することで、アプリケーションソフトウェアはハードウェアでサポートされているコーデックを必要に応じて選択・利用することができる[13][14]。オンライン会議などで使用される配信用アプリでは、Webカメラによってキャプチャされた動画および音声のデータを圧縮しつつネットワーク経由で受信者にブロードキャストしていくが、エンコード/デコードを対応ハードウェアに任せることでCPUの負担を軽減できる。

デジタル機器におけるエンコーダー/デコーダーの凡例

脚注

注釈

  1. ^ Shift_JISのシーケンスには、UTF-8のシーケンスとしては不正なものも含まれるため、表示環境によっては何も表示されなくなることもある。
  2. ^ 民生の録画機・録音機は現実的には録画・再生兼用機器。
  3. ^ デジタル放送のダイレクト録画にはエンコーダは不要(アナログ放送のデジタル録画にはエンコードが不可避となる)。エンコーダが必要な場合は以下の通り。
    • デジタル放送の非ダイレクト録画
    • デジタル放送のダイレクト記録が不可能なメディアへのダビング
    • 記録可能時間を変更(圧縮率を変更)したダビング
  4. ^ デジタル放送地上波放送BS放送CS放送全て(単載、混載を問わない)を含む。
  5. ^ エンコーダ/デコーダを搭載する機器としての観点から言えば、デジタル放送のテレビやチューナーもデジタル映像再生専用機の一部であるとも言えるが、放送波からデジタルコンテンツとしてのデータを取り出す機能も併載しているという点が明確に異なることから別項目として解説している。
  6. ^ デジタル放送受信機で録画機能付きのものは広義として、あるいはこの項目(記事)内の扱いとしては録画機に含まれる。但しデジタル放送をダイレクトに録画(エンコードが不要な録画)するものはデコーダのみ。ダイレクト録画が不可能なものに録画やダビングする機能がある場合はエンコーダ(この場合のエンコードは総論としては映像の再エンコードに当たる)の搭載も必要になる。

出典

関連項目



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Encoding」の関連用語

Encodingのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Encodingのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
実用日本語表現辞典実用日本語表現辞典
Copyright © 2025実用日本語表現辞典 All Rights Reserved.
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのエンコード (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS