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

UnicodeEncoding クラス

Unicode 文字UTF-16 エンコーディング表します

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

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class UnicodeEncoding
    Inherits Encoding
Dim instance As UnicodeEncoding
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class UnicodeEncoding : Encoding
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class UnicodeEncoding : public
 Encoding
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class UnicodeEncoding extends Encoding
SerializableAttribute 
ComVisibleAttribute(true) 
public class UnicodeEncoding extends
 Encoding
解説解説

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

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

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

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

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

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

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

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

Unicode エンコーディングバイト順、およびバイト順マーク詳細については、www.unicode.org の「Unicode Standard」を参照してください

メモメモ

エラー検出有効にしてクラス インスタンス安全性向上させるには、throwOnInvalidBytes パラメータ受け取る UnicodeEncoding コンストラクタ使用し、このパラメータtrue設定しますエラー検出有効にすると、メソッドは、無効な文字シーケンスバイト シーケンス検出したときに、ArgumentException をスローます。エラー検出無効にすると、例外スローされず、無効なシーケンス全般に無視されます。

UnicodeEncoding は、Windows コード ページ 1200 (リトル エンディアン バイト順) と 1201 (ビッグ エンディアン バイト順) に対応してます。

使用例使用例

次のコード例は、UnicodeEncoding使用してUnicode 文字列バイト配列エンコードする方法示してます。データ損失しないことを示すため、バイト配列は文字列にデコードされます

Imports System
Imports System.Text
Imports Microsoft.VisualBasic.Strings

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        ' The encoding.
        Dim uni As New UnicodeEncoding()
        
        ' Create a string that contains Unicode characters.
        Dim unicodeString As String
 = _
            "This Unicode string contains two characters "
 & _
            "with codes outside the traditional ASCII code range,
 " & _
            "Pi (" & ChrW(928) & ")
 and Sigma (" & ChrW(931) & ")."
        Console.WriteLine("Original string:")
        Console.WriteLine(unicodeString)
        
        ' Encode the string.
        Dim encodedBytes As Byte()
 = uni.GetBytes(unicodeString)
        Console.WriteLine()
        Console.WriteLine("Encoded bytes:")
        Dim b As Byte
        For Each b In  encodedBytes
            Console.Write("[{0}]", b)
        Next b
        Console.WriteLine()
        
        ' Decode bytes back to string.
        ' Notice Pi and Sigma characters are still present.
        Dim decodedString As String
 = uni.GetString(encodedBytes)
        Console.WriteLine()
        Console.WriteLine("Decoded bytes:")
        Console.WriteLine(decodedString)
    End Sub
End Class
using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main()
 {
        // The encoding.
        UnicodeEncoding unicode = new UnicodeEncoding();
        
        // Create a string that contains Unicode characters.
        String unicodeString =
            "This Unicode string contains two characters
 " +
            "with codes outside the traditional ASCII code range, " +
            "Pi (\u03a0) and Sigma (\u03a3).";
        Console.WriteLine("Original string:");
        Console.WriteLine(unicodeString);

        // Encode the string.
        Byte[] encodedBytes = unicode.GetBytes(unicodeString);
        Console.WriteLine();
        Console.WriteLine("Encoded bytes:");
        foreach (Byte b in encodedBytes) {
            Console.Write("[{0}]", b);
        }
        Console.WriteLine();
        
        // Decode bytes back to string.
        // Notice Pi and Sigma characters are still present.
        String decodedString = unicode.GetString(encodedBytes);
        Console.WriteLine();
        Console.WriteLine("Decoded bytes:");
        Console.WriteLine(decodedString);
    }
}
using namespace System;
using namespace System::Text;
using namespace System::Collections;
int main()
{
   
   // The encoding.
   UnicodeEncoding^ unicode = gcnew UnicodeEncoding;
   
   // Create a String* that contains Unicode characters.
   String^ unicodeString = L"This Unicode string contains
 two characters with codes outside the traditional ASCII code range, Pi (\u03a0)
 and Sigma (\u03a3).";
   Console::WriteLine( "Original string:" );
   Console::WriteLine( unicodeString );
   
   // Encode the String*.
   array<Byte>^encodedBytes = unicode->GetBytes( unicodeString );
   Console::WriteLine();
   Console::WriteLine( "Encoded bytes:" );
   IEnumerator^ myEnum = encodedBytes->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Byte b = safe_cast<Byte>(myEnum->Current);
      Console::Write( "[{0}]", b );
   }

   Console::WriteLine();
   
   // Decode bytes back to String*.
   // Notice Pi and Sigma characters are still present.
   String^ decodedString = unicode->GetString( encodedBytes );
   Console::WriteLine();
   Console::WriteLine( "Decoded bytes:" );
   Console::WriteLine( decodedString );
}

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

class UnicodeEncodingExample
{
    public static void main(String[]
 args)
    {
        // The encoding.
        UnicodeEncoding unicode = new UnicodeEncoding();

        // Create a string that contains Unicode characters.
        String unicodeString = "This Unicode string contains
 two characters " 
            + "with codes outside the traditional ASCII code range, " 
            + "Pi (\u03a0) and Sigma (\u03a3).";
        Console.WriteLine("Original string:");
        Console.WriteLine(unicodeString);

        // Encode the string.
        ubyte encodedBytes[] = unicode.GetBytes(unicodeString);
        Console.WriteLine();
        Console.WriteLine("Encoded bytes:");
        for(int iCtr = 0; iCtr < encodedBytes.length;
 iCtr++) {
            ubyte b = encodedBytes[iCtr];
            Console.Write("[{0}]", String.valueOf(b));
        }
        Console.WriteLine();

        // Decode bytes back to string.
        // Notice Pi and Sigma characters are still present.
        String decodedString = unicode.GetString(encodedBytes);
        Console.WriteLine();
        Console.WriteLine("Decoded bytes:");
        Console.WriteLine(decodedString);
    } //main
} //UnicodeEncodingExample
継承階層継承階層
System.Object
   System.Text.Encoding
    System.Text.UnicodeEncoding
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
UnicodeEncoding メンバ
System.Text 名前空間
Encoding クラス
Encoder クラス
Decoder クラス
UTF32Encoding
UTF8Encoding
UTF7Encoding
ASCIIEncoding クラス
System.Globalization.UnicodeCategory
System.Globalization.CharUnicodeInfo

UnicodeEncoding コンストラクタ ()

UnicodeEncoding クラス新しインスタンス初期化します。

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

Dim instance As New UnicodeEncoding
public UnicodeEncoding ()
public:
UnicodeEncoding ()
public UnicodeEncoding ()
public function UnicodeEncoding ()
解説解説

このコンストラクタは、リトル エンディアン バイト順を使用しUnicode バイト順マーク付加し無効なエンコーディング検出したときに例外スローしないインスタンス作成します

注意に関するメモ注意

セキュリティ上の理由から、throwOnInvalidBytes パラメータ受け取コンストラクタ使用して、このパラメータtrue設定することにより、エラー検出有効にすることをお勧めます。

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

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

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

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

使用例使用例

次のコード例は、新しUnicodeEncoding インスタンス作成してエンコード名を表示する方法示してます。

Imports System
Imports System.Text

Class UnicodeEncodingExample

    Public Shared Sub Main()
        Dim uni As New UnicodeEncoding()
        Dim encodingName As String
 = uni.EncodingName
        Console.WriteLine("Encoding name: " &
 encodingName)
    End Sub 'Main
End Class 'UnicodeEncodingExample
using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main()
 {
        UnicodeEncoding unicode = new UnicodeEncoding();
        String encodingName = unicode.EncodingName;
        Console.WriteLine("Encoding name: " + encodingName);
    }
}
using namespace System;
using namespace System::Text;
int main()
{
   UnicodeEncoding^ unicode = gcnew UnicodeEncoding;
   String^ encodingName = unicode->EncodingName;
   Console::WriteLine( "Encoding name: {0}", encodingName );
}

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

class UnicodeEncodingExample
{
    public static void main(String[]
 args)
    {
        UnicodeEncoding unicode = new UnicodeEncoding();
        String encodingName = unicode.get_EncodingName();
        Console.WriteLine(("Encoding name: " + encodingName));
    } //main
} //UnicodeEncodingExample
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

UnicodeEncoding コンストラクタ (Boolean, Boolean)

UnicodeEncoding クラス新しインスタンス初期化します。パラメータでは、ビッグ エンディアン バイト順を使用するかどうか、および Unicode バイト順マーク付加するかどうか指定します

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

解説解説

このコンストラクタは、無効なエンコーディング検出したときに例外スローしないインスタンス作成します

注意に関するメモ注意

セキュリティ上の理由から、throwOnInvalidBytes パラメータ受け取コンストラクタ使用して、このパラメータtrue設定することにより、エラー検出有効にすることをお勧めます。

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

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

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

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

使用例使用例

次のコード例は、リトル エンディアンまたはビッグ エンディアンのどちらのバイト順をサポートするか、および Unicode バイト順マークサポートするかどうか指定して新しUnicodeEncoding インスタンス作成する方法示してます。UnicodeEncoding インスタンス動作は、bigEndian パラメータbyteOrderMark パラメータの値によって異なります

Imports System
Imports System.Text

Class UnicodeEncodingExample
    
    Public Shared Sub Main()

        ' Create a UnicodeEncoding without parameters.
        Dim unicodeDefault As New
 UnicodeEncoding()

        ' Create a UnicodeEncoding to support little-endian byte ordering
        ' and include the Unicode byte order mark.        
        Dim unicodeLittleEndianBOM As New
 UnicodeEncoding(False, True)
        ' Compare this UnicodeEncoding to the UnicodeEncoding without
 parameters.
        DescribeEquivalence(unicodeDefault.Equals(unicodeLittleEndianBOM))
        
        ' Create a UnicodeEncoding to support little-endian byte ordering
        ' and not include the Unicode byte order mark.
        Dim unicodeLittleEndianNoBOM As New
 UnicodeEncoding(False, False)
        ' Compare this UnicodeEncoding to the UnicodeEncoding without
 parameters.
        DescribeEquivalence(unicodeDefault.Equals(unicodeLittleEndianNoBOM))
        
        ' Create a UnicodeEncoding to support big-endian byte ordering
        ' and include the Unicode byte order mark.
        Dim unicodeBigEndianBOM As New
 UnicodeEncoding(True, True)
        ' Compare this UnicodeEncoding to the UnicodeEncoding without
 parameters.
        DescribeEquivalence(unicodeDefault.Equals(unicodeBigEndianBOM))
        
        ' Create a UnicodeEncoding to support big-endian byte ordering
        ' and not include the Unicode byte order mark.
        Dim unicodeBigEndianNoBOM As New
 UnicodeEncoding(True, False)
        ' Compare this UnicodeEncoding to the UnicodeEncoding without
 parameters.
        DescribeEquivalence(unicodeDefault.Equals(unicodeBigEndianNoBOM))
    End Sub
    
    
    Public Shared Sub DescribeEquivalence(isEquivalent
 As Boolean)
        Dim phrase as String
        If isEquivalent Then
            phrase = "An"
        Else
            phrase = "Not an"
        End If
        Console.WriteLine("{0} equivalent encoding.",
 phrase)
    End Sub
End Class
using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main()
 {

        // Create a UnicodeEncoding without parameters.
        UnicodeEncoding unicode = new UnicodeEncoding();

        // Create a UnicodeEncoding to support little-endian byte ordering
        // and include the Unicode byte order mark.
        UnicodeEncoding unicodeLittleEndianBOM = 
            new UnicodeEncoding(false, true);
        // Compare this UnicodeEncoding to the UnicodeEncoding without
 parameters.
        DescribeEquivalence(unicode.Equals(unicodeLittleEndianBOM));

        // Create a UnicodeEncoding to support little-endian byte ordering
        // and not include the Unicode byte order mark.
        UnicodeEncoding unicodeLittleEndianNoBOM =
            new UnicodeEncoding(false, false);
        // Compare this UnicodeEncoding to the UnicodeEncoding without
 parameters.
        DescribeEquivalence(unicode.Equals(unicodeLittleEndianNoBOM));

        // Create a UnicodeEncoding to support big-endian byte ordering
        // and include the Unicode byte order mark.
        UnicodeEncoding unicodeBigEndianBOM =
            new UnicodeEncoding(true, true);
        // Compare this UnicodeEncoding to the UnicodeEncoding without
 parameters.
        DescribeEquivalence(unicode.Equals(unicodeBigEndianBOM));

        // Create a UnicodeEncoding to support big-endian byte ordering
        // and not include the Unicode byte order mark.
        UnicodeEncoding unicodeBigEndianNoBOM =
            new UnicodeEncoding(true, false);
        // Compare this UnicodeEncoding to the UnicodeEncoding without
 parameters.
        DescribeEquivalence(unicode.Equals(unicodeBigEndianNoBOM));
    }

    public static void DescribeEquivalence(Boolean
 isEquivalent) {
        Console.WriteLine(
            "{0} equivalent encoding.", (isEquivalent ? "An"
 : "Not an")
        );
    }
}
using namespace System;
using namespace System::Text;
void DescribeEquivalence( Boolean isEquivalent )
{
   Console::WriteLine( " {0} equivalent encoding.", (isEquivalent ? (String^)"An"
 : "Not an") );
}

int main()
{
   
   // Create a UnicodeEncoding without parameters.
   UnicodeEncoding^ unicode = gcnew UnicodeEncoding;
   
   // Create a UnicodeEncoding to support little-endian Byte ordering
   // and include the Unicode Byte order mark.
   UnicodeEncoding^ unicodeLittleEndianBOM = gcnew UnicodeEncoding( false,true
 );
   
   // Compare this UnicodeEncoding to the UnicodeEncoding without parameters.
   DescribeEquivalence( unicode->Equals( unicodeLittleEndianBOM ) );
   
   // Create a UnicodeEncoding to support little-endian Byte ordering
   // and not include the Unicode Byte order mark.
   UnicodeEncoding^ unicodeLittleEndianNoBOM = gcnew UnicodeEncoding( false,false
 );
   
   // Compare this UnicodeEncoding to the UnicodeEncoding without parameters.
   DescribeEquivalence( unicode->Equals( unicodeLittleEndianNoBOM ) );
   
   // Create a UnicodeEncoding to support big-endian Byte ordering
   // and include the Unicode Byte order mark.
   UnicodeEncoding^ unicodeBigEndianBOM = gcnew UnicodeEncoding( true,true
 );
   
   // Compare this UnicodeEncoding to the UnicodeEncoding without parameters.
   DescribeEquivalence( unicode->Equals( unicodeBigEndianBOM ) );
   
   // Create a UnicodeEncoding to support big-endian Byte ordering
   // and not include the Unicode Byte order mark.
   UnicodeEncoding^ unicodeBigEndianNoBOM = gcnew UnicodeEncoding( true,false
 );
   
   // Compare this UnicodeEncoding to the UnicodeEncoding without parameters.
   DescribeEquivalence( unicode->Equals( unicodeBigEndianNoBOM ) );
}

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

class UnicodeEncodingExample
{
    public static void main(String[]
 args)
    {
        // Create a UnicodeEncoding without parameters.
        UnicodeEncoding unicode = new UnicodeEncoding();

        // Create a UnicodeEncoding to support little-endian byte ordering
        // and include the Unicode byte order mark.
        UnicodeEncoding unicodeLittleEndianBOM = new 
            UnicodeEncoding(false, true);

        // Compare this UnicodeEncoding to the
        // UnicodeEncoding without parameters.
        DescribeEquivalence(unicode.Equals(unicodeLittleEndianBOM));

        // Create a UnicodeEncoding to support little-endian byte ordering
        // and not include the Unicode byte order mark.
        UnicodeEncoding unicodeLittleEndianNoBOM = new 
            UnicodeEncoding(false, false);

        // Compare this UnicodeEncoding to the UnicodeEncoding 
        // without parameters.
        DescribeEquivalence(unicode.Equals(unicodeLittleEndianNoBOM));

        // Create a UnicodeEncoding to support big-endian byte ordering
        // and include the Unicode byte order mark.
        UnicodeEncoding unicodeBigEndianBOM = new UnicodeEncoding(true,
 true);

        // Compare this UnicodeEncoding to the
        // UnicodeEncoding without parameters.
        DescribeEquivalence(unicode.Equals(unicodeBigEndianBOM));

        // Create a UnicodeEncoding to support big-endian byte ordering
        // and not include the Unicode byte order mark.
        UnicodeEncoding unicodeBigEndianNoBOM = new 
            UnicodeEncoding(true, false);

        // Compare this UnicodeEncoding to the
        // UnicodeEncoding without parameters.
        DescribeEquivalence(unicode.Equals(unicodeBigEndianNoBOM));
    } //main

    public static void DescribeEquivalence(boolean
 isEquivalent)
    {
        Console.WriteLine("{0} equivalent encoding.",
            (isEquivalent) ? "An" : "Not an");
    } //DescribeEquivalence
} //UnicodeEncodingExample
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
UnicodeEncoding クラス
UnicodeEncoding メンバ
System.Text 名前空間
GetPreamble

UnicodeEncoding コンストラクタ (Boolean, Boolean, Boolean)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

UnicodeEncoding クラス新しインスタンス初期化します。パラメータでは、ビッグ エンディアン バイト順を使用するかどうかUnicode バイト順マーク付加するかどうか、および無効なエンコーディング検出したときに例外スローするかどうか指定します

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

解説解説

throwOnInvalidBytes パラメータtrue場合無効なバイト シーケンス検出したメソッドは System.ArgumentException をスローます。それ以外場合は、例外スローせず、無効なシーケンス無視します。

注意に関するメモ注意

セキュリティ上の理由から、このコンストラクタ使用して UnicodeEncoding クラスインスタンス作成しthrowOnInvalidBytestrue設定することでエラー検出オンにすることをお勧めます。

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

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

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

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

使用例使用例

次のコード例は、エラー検出有効にした場合無効にした場合UnicodeEncoding動作示します

Imports System
Imports System.Text
Imports Microsoft.VisualBasic

Public Class SamplesUnicodeEncoding   

   Public Shared Sub Main()

      ' Create an instance of UnicodeEncoding using little-endian byte
 order.
      ' This will be used for encoding.
      Dim u16LE As New UnicodeEncoding(False,
 True)

      ' Create two instances of UnicodeEncoding using big-endian byte
 order: one with error detection and one without.
      ' These will be used for decoding.
      Dim u16withED As New
 UnicodeEncoding(True, True, True)
      Dim u16noED As New
 UnicodeEncoding(True, True, False)

      ' Create byte arrays from the same string containing the following
 characters:
      '    Latin Small Letter Z (U+007A)
      '    Latin Small Letter A (U+0061)
      '    Combining Breve (U+0306)
      '    Latin Small Letter AE With Acute (U+01FD)
      '    Greek Small Letter Beta (U+03B2)
      '    Latin Capital Letter U with  Diaeresis (U+00DC)
      Dim myStr As String
 = "za" & ChrW(&H0306) & ChrW(&H01FD)
 & ChrW(&H03B2) & ChrW(&H00DC)

      ' Encode the string using little-endian byte order.
      Dim myBytes(u16LE.GetByteCount(myStr)) As
 Byte
      u16LE.GetBytes(myStr, 0, myStr.Length, myBytes, 0)

      ' Decode the byte array with error detection.
      Console.WriteLine("Decoding with error detection:")
      PrintDecodedString(myBytes, u16withED)

      ' Decode the byte array without error detection.
      Console.WriteLine("Decoding without error detection:")
      PrintDecodedString(myBytes, u16noED)

   End Sub 'Main


   ' Decode the bytes and display the string.
   Public Shared Sub PrintDecodedString(bytes()
 As Byte, enc As Encoding)

      Try
         Console.WriteLine("   Decoded string: {0}",
 enc.GetString(bytes, 0, bytes.Length))
      Catch e As System.ArgumentException
         Console.WriteLine(e.ToString())
      End Try

      Console.WriteLine()

   End Sub 'PrintDecodedString
 

End Class 'SamplesUnicodeEncoding

using System;
using System.Text;

public class SamplesUnicodeEncoding  {

   public static void Main()
  {

      // Create an instance of UnicodeEncoding using little-endian byte
 order.
      // This will be used for encoding.
      UnicodeEncoding u16LE     = new UnicodeEncoding( false,
 true );

      // Create two instances of UnicodeEncoding using big-endian byte
 order: one with error detection and one without.
      // These will be used for decoding.
      UnicodeEncoding u16withED = new UnicodeEncoding( true,
 true, true );
      UnicodeEncoding u16noED   = new UnicodeEncoding( true,
 true, false );

      // Create byte arrays from the same string containing the following
 characters:
      //    Latin Small Letter Z (U+007A)
      //    Latin Small Letter A (U+0061)
      //    Combining Breve (U+0306)
      //    Latin Small Letter AE With Acute (U+01FD)
      //    Greek Small Letter Beta (U+03B2)
      //    Latin Capital Letter U with  Diaeresis (U+00DC)
      String myStr = "za\u0306\u01FD\u03B2\u00DC";

      // Encode the string using little-endian byte order.
      byte[] myBytes = new byte[u16LE.GetByteCount( myStr )];
      u16LE.GetBytes( myStr, 0, myStr.Length, myBytes, 0 );

      // Decode the byte array with error detection.
      Console.WriteLine( "Decoding with error detection:" );
      PrintDecodedString( myBytes, u16withED );

      // Decode the byte array without error detection.
      Console.WriteLine( "Decoding without error detection:" );
      PrintDecodedString( myBytes, u16noED );

   }


   // Decode the bytes and display the string.
   public static void PrintDecodedString(
 byte[] bytes, Encoding enc )  {

      try  {
         Console.WriteLine( "   Decoded string: {0}",
 enc.GetString( bytes, 0, bytes.Length ) );
      }
      catch ( System.ArgumentException e )  {
         Console.WriteLine( e.ToString() );
      }

      Console.WriteLine();

   }

}

using namespace System;
using namespace System::Text;
void PrintDecodedString( array<Byte>^bytes, Encoding^ enc
 );
int main()
{
   
   // Create an instance of UnicodeEncoding using little-endian byte
 order.
   // This will be used for encoding.
   UnicodeEncoding^ u16LE = gcnew UnicodeEncoding( false,true
 );
   
   // Create two instances of UnicodeEncoding using big-endian byte
 order: one with error detection and one without.
   // These will be used for decoding.
   UnicodeEncoding^ u16withED = gcnew UnicodeEncoding( true,true,true
 );
   UnicodeEncoding^ u16noED = gcnew UnicodeEncoding( true,true,false
 );
   
   // Create byte arrays from the same string containing the following
 characters:
   //    Latin Small Letter Z (U+007A)
   //    Latin Small Letter A (U+0061)
   //    Combining Breve (U+0306)
   //    Latin Small Letter AE With Acute (U+01FD)
   //    Greek Small Letter Beta (U+03B2)
   //    Latin Capital Letter U with  Diaeresis (U+00DC)
   String^ myStr = "za\u0306\u01FD\u03B2\u00DC";
   
   // Encode the string using little-endian byte order.
   array<Byte>^myBytes = gcnew array<Byte>(u16LE->GetByteCount( myStr
 ));
   u16LE->GetBytes( myStr, 0, myStr->Length, myBytes, 0 );
   
   // Decode the byte array with error detection.
   Console::WriteLine( "Decoding with error detection:" );
   PrintDecodedString( myBytes, u16withED );
   
   // Decode the byte array without error detection.
   Console::WriteLine( "Decoding without error detection:" );
   PrintDecodedString( myBytes, u16noED );
}


// Decode the bytes and display the string.
void PrintDecodedString( array<Byte>^bytes, Encoding^ enc
 )
{
   try
   {
      Console::WriteLine( "   Decoded string: {0}",
 enc->GetString( bytes, 0, bytes->Length ) );
   }
   catch ( System::ArgumentException^ e ) 
   {
      Console::WriteLine( e );
   }

   Console::WriteLine();
}

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

public class SamplesUnicodeEncoding
{
    public static void main(String[]
 args)
    {
        // Create an instance of UnicodeEncoding using little-endian
 
        // byte order.
        // This will be used for encoding.
        UnicodeEncoding u16LE = new UnicodeEncoding(false,
 true);

        // Create two instances of UnicodeEncoding using big-endian
 byte 
        // order: one with error detection and one without.
        // These will be used for decoding.
        UnicodeEncoding u16withED = new UnicodeEncoding(true,
 true, true);
        UnicodeEncoding u16noED = new UnicodeEncoding(true,
 true, false);

        // Create byte arrays from the same string containing 
        // the following characters:
        //    Latin Small Letter Z (U+007A)
        //    Latin Small Letter A (U+0061)
        //    Combining Breve (U+0306)
        //    Latin Small Letter AE With Acute (U+01FD)
        //    Greek Small Letter Beta (U+03B2)
        //    Latin Capital Letter U with  Diaeresis (U+00DC)
        String myStr = "za\u0306\u01FD\u03B2\u00DC";

        // Encode the string using little-endian byte order.
        ubyte myBytes[] = new ubyte[u16LE.GetByteCount(myStr)];
        u16LE.GetBytes(myStr, 0, myStr.get_Length(), myBytes, 0);

        // Decode the byte array with error detection.
        Console.WriteLine("Decoding with error detection:");
        PrintDecodedString(myBytes, u16withED);

        // Decode the byte array without error detection.
        Console.WriteLine("Decoding without error detection:");
        PrintDecodedString(myBytes, u16noED);
    } //main

    // Decode the bytes and display the string.
    public static void PrintDecodedString(ubyte[]
 bytes, Encoding enc)
    {
        try {
            Console.WriteLine("   Decoded string: {0}",
 
                enc.GetString(bytes, 0, bytes.length));
        }
        catch(System.ArgumentException e) {
            Console.WriteLine(e.toString());
        }
        Console.WriteLine();
    } //PrintDecodedString
} //SamplesUnicodeEncoding

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
UnicodeEncoding クラス
UnicodeEncoding メンバ
System.Text 名前空間
GetPreamble

UnicodeEncoding コンストラクタ


UnicodeEncoding フィールド


パブリック フィールドパブリック フィールド

参照参照

関連項目

UnicodeEncoding クラス
System.Text 名前空間
Encoding クラス
Encoder クラス
Decoder クラス
UTF32Encoding
UTF8Encoding
UTF7Encoding
ASCIIEncoding クラス
System.Globalization.UnicodeCategory
System.Globalization.CharUnicodeInfo

UnicodeEncoding プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ ASCII  ASCII (7 ビット) 文字セットエンコーディング取得します。 ( Encoding から継承されます。)
パブリック プロパティ BigEndianUnicode  ビッグ エンディアン バイト順を使用する UTF-16 形式エンコーディング取得します。 ( Encoding から継承されます。)
パブリック プロパティ BodyName  派生クラスオーバーライドされた場合メール エージェントBody タグと共に使用できる現在のエンコーディングの名前を取得します。 ( Encoding から継承されます。)
パブリック プロパティ CodePage  派生クラスオーバーライドされた場合現在の Encodingコード ページ ID取得します。 ( Encoding から継承されます。)
パブリック プロパティ DecoderFallback  現在の Encoding オブジェクトの DecoderFallback オブジェクト取得または設定します。 ( Encoding から継承されます。)
パブリック プロパティ Default  システム現在の ANSI コード ページエンコーディング取得します。 ( Encoding から継承されます。)
パブリック プロパティ EncoderFallback  現在の Encoding オブジェクトの EncoderFallback オブジェクト取得または設定します。 ( Encoding から継承されます。)
パブリック プロパティ EncodingName  派生クラスオーバーライドされた場合現在のエンコーディングについての記述を、ユーザー判読できる形式取得します。 ( Encoding から継承されます。)
パブリック プロパティ HeaderName  派生クラスオーバーライドされた場合メール エージェント ヘッダー タグと共に使用できる現在のエンコーディングの名前を取得します。 ( Encoding から継承されます。)
パブリック プロパティ IsBrowserDisplay  派生クラスオーバーライドされた場合ブラウザ クライアント現在のエンコーディング使用してコンテンツ表示できるかどうかを示す値を取得します。 ( Encoding から継承されます。)
パブリック プロパティ IsBrowserSave  派生クラスオーバーライドされた場合ブラウザ クライアント現在のエンコーディング使用してコンテンツ保存できるかどうかを示す値を取得します。 ( Encoding から継承されます。)
パブリック プロパティ IsMailNewsDisplay  派生クラスオーバーライドされた場合メール クライアントおよびニュース クライアント現在のエンコーディング使用してコンテンツ表示できるかどうかを示す値を取得します。 ( Encoding から継承されます。)
パブリック プロパティ IsMailNewsSave  派生クラスオーバーライドされた場合メール クライアントおよびニュース クライアント現在のエンコーディング使用してコンテンツ保存できるかどうかを示す値を取得します。 ( Encoding から継承されます。)
パブリック プロパティ IsReadOnly  派生クラスオーバーライドされた場合現在のエンコーディング読み取り専用かどうかを示す値を取得します。 ( Encoding から継承されます。)
パブリック プロパティ IsSingleByte  派生クラスオーバーライドされた場合現在のエンコーディング1 バイトコード ポイント使用するかどうかを示す値を取得します。 ( Encoding から継承されます。)
パブリック プロパティ Unicode  リトル エンディアン バイト順を使用する UTF-16 形式エンコーディング取得します。 ( Encoding から継承されます。)
パブリック プロパティ UTF32  リトル エンディアン バイト順を使用する UTF-32 形式エンコーディング取得します。 ( Encoding から継承されます。)
パブリック プロパティ UTF7  UTF-7 形式エンコーディング取得します。 ( Encoding から継承されます。)
パブリック プロパティ UTF8  UTF-8 形式エンコーディング取得します。 ( Encoding から継承されます。)
パブリック プロパティ WebName  派生クラスオーバーライドされた場合現在のエンコーディングIANA (Internet Assigned Numbers Authority) に登録されている名前を取得します。 ( Encoding から継承されます。)
パブリック プロパティ WindowsCodePage  派生クラスオーバーライドされた場合現在のエンコーディングに最も厳密に対応する Windows オペレーティング システムコード ページ取得します。 ( Encoding から継承されます。)
参照参照

関連項目

UnicodeEncoding クラス
System.Text 名前空間
Encoding クラス
Encoder クラス
Decoder クラス
UTF32Encoding
UTF8Encoding
UTF7Encoding
ASCIIEncoding クラス
System.Globalization.UnicodeCategory
System.Globalization.CharUnicodeInfo

UnicodeEncoding メソッド


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

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

関連項目

UnicodeEncoding クラス
System.Text 名前空間
Encoding クラス
Encoder クラス
Decoder クラス
UTF32Encoding
UTF8Encoding
UTF7Encoding
ASCIIEncoding クラス
System.Globalization.UnicodeCategory
System.Globalization.CharUnicodeInfo

UnicodeEncoding メンバ

Unicode 文字UTF-16 エンコーディング表します

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


パブリック コンストラクタパブリック コンストラクタ
パブリック フィールドパブリック フィールド
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ ASCII  ASCII (7 ビット) 文字セットエンコーディング取得します。(Encoding から継承されます。)
パブリック プロパティ BigEndianUnicode  ビッグ エンディアン バイト順を使用する UTF-16 形式エンコーディング取得します。(Encoding から継承されます。)
パブリック プロパティ BodyName  派生クラスオーバーライドされた場合メール エージェントBody タグと共に使用できる現在のエンコーディングの名前を取得します。(Encoding から継承されます。)
パブリック プロパティ CodePage  派生クラスオーバーライドされた場合現在の Encodingコード ページ ID取得します。(Encoding から継承されます。)
パブリック プロパティ DecoderFallback  現在の Encoding オブジェクトの DecoderFallback オブジェクト取得または設定します。(Encoding から継承されます。)
パブリック プロパティ Default  システム現在の ANSI コード ページエンコーディング取得します。(Encoding から継承されます。)
パブリック プロパティ EncoderFallback  現在の Encoding オブジェクトの EncoderFallback オブジェクト取得または設定します。(Encoding から継承されます。)
パブリック プロパティ EncodingName  派生クラスオーバーライドされた場合現在のエンコーディングについての記述を、ユーザー判読できる形式取得します。(Encoding から継承されます。)
パブリック プロパティ HeaderName  派生クラスオーバーライドされた場合メール エージェント ヘッダー タグと共に使用できる現在のエンコーディングの名前を取得します。(Encoding から継承されます。)
パブリック プロパティ IsBrowserDisplay  派生クラスオーバーライドされた場合ブラウザ クライアント現在のエンコーディング使用してコンテンツ表示できるかどうかを示す値を取得します。(Encoding から継承されます。)
パブリック プロパティ IsBrowserSave  派生クラスオーバーライドされた場合ブラウザ クライアント現在のエンコーディング使用してコンテンツ保存できるかどうかを示す値を取得します。(Encoding から継承されます。)
パブリック プロパティ IsMailNewsDisplay  派生クラスオーバーライドされた場合メール クライアントおよびニュース クライアント現在のエンコーディング使用してコンテンツ表示できるかどうかを示す値を取得します。(Encoding から継承されます。)
パブリック プロパティ IsMailNewsSave  派生クラスオーバーライドされた場合メール クライアントおよびニュース クライアント現在のエンコーディング使用してコンテンツ保存できるかどうかを示す値を取得します。(Encoding から継承されます。)
パブリック プロパティ IsReadOnly  派生クラスオーバーライドされた場合現在のエンコーディング読み取り専用かどうかを示す値を取得します。(Encoding から継承されます。)
パブリック プロパティ IsSingleByte  派生クラスオーバーライドされた場合現在のエンコーディング1 バイトコード ポイント使用するかどうかを示す値を取得します。(Encoding から継承されます。)
パブリック プロパティ Unicode  リトル エンディアン バイト順を使用する UTF-16 形式エンコーディング取得します。(Encoding から継承されます。)
パブリック プロパティ UTF32  リトル エンディアン バイト順を使用する UTF-32 形式エンコーディング取得します。(Encoding から継承されます。)
パブリック プロパティ UTF7  UTF-7 形式エンコーディング取得します。(Encoding から継承されます。)
パブリック プロパティ UTF8  UTF-8 形式エンコーディング取得します。(Encoding から継承されます。)
パブリック プロパティ WebName  派生クラスオーバーライドされた場合現在のエンコーディングIANA (Internet Assigned Numbers Authority) に登録されている名前を取得します。(Encoding から継承されます。)
パブリック プロパティ WindowsCodePage  派生クラスオーバーライドされた場合現在のエンコーディングに最も厳密に対応する Windows オペレーティング システムコード ページ取得します。(Encoding から継承されます。)
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Clone  派生クラスオーバーライドされた場合現在の Encoding オブジェクト簡易コピー作成します。 (Encoding から継承されます。)
パブリック メソッド Convert  オーバーロードされますバイト配列を、あるエンコーディングから別のエンコーディング変換します。 (Encoding から継承されます。)
パブリック メソッド Equals オーバーロードされますオーバーライドされます。  
パブリック メソッド GetByteCount オーバーロードされます文字セットエンコードすることによって生成されるバイト数を計算します
パブリック メソッド GetBytes オーバーロードされます文字セットバイト シーケンスエンコードます。
パブリック メソッド GetCharCount オーバーロードされますバイト シーケンスデコードすることによって生成される文字数計算します
パブリック メソッド GetChars オーバーロードされますバイト シーケンス文字セットデコードます。
パブリック メソッド GetDecoder オーバーライドされますUTF-32エンコードされたバイト シーケンスUnicode 文字シーケンス変換するデコーダ取得します
パブリック メソッド GetEncoder オーバーライドされますUnicode 文字シーケンスUTF-32エンコードされたバイト シーケンス変換するエンコーダ取得します
パブリック メソッド GetEncoding  オーバーロードされます指定したコード ページエンコーディング返します。 (Encoding から継承されます。)
パブリック メソッド GetEncodings  すべてのエンコーディング格納する配列返します。 (Encoding から継承されます。)
パブリック メソッド GetHashCode オーバーライドされます現在のインスタンスハッシュ コード返します
パブリック メソッド GetMaxByteCount オーバーライドされます指定した文字数エンコードすることによって生成される最大バイト数を計算します
パブリック メソッド GetMaxCharCount オーバーライドされます指定したバイト数をデコードすることによって生成される最大文字数計算します
パブリック メソッド GetPreamble オーバーライドされます。 このインスタンスコンストラクタバイト順マーク付加するよう指定した場合に、UTF-32 形式エンコードされた Unicode バイト順マーク返します
パブリック メソッド GetString オーバーロードされますバイト シーケンス文字列デコードます。
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド IsAlwaysNormalized  オーバーロードされます現在のエンコーディングが常に正規化されるかどうかを示す値を取得します。 (Encoding から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

UnicodeEncoding クラス
System.Text 名前空間
Encoding クラス
Encoder クラス
Decoder クラス
UTF32Encoding
UTF8Encoding
UTF7Encoding
ASCIIEncoding クラス
System.Globalization.UnicodeCategory
System.Globalization.CharUnicodeInfo


このページでは「.NET Framework クラス ライブラリ リファレンス」からUnicodeEncodingを検索した結果を表示しています。
Weblioに収録されているすべての辞書からUnicodeEncodingを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からUnicodeEncoding を検索

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

辞書ショートカット

すべての辞書の索引

「UnicodeEncoding」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS