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) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



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

辞書ショートカット

すべての辞書の索引

「Encoding クラス」の関連用語

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

   

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



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

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS