UTF32Encoding クラスとは? わかりやすく解説

UTF32Encoding クラス

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

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

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

<SerializableAttribute> _
Public NotInheritable Class
 UTF32Encoding
    Inherits Encoding
Dim instance As UTF32Encoding
[SerializableAttribute] 
public sealed class UTF32Encoding : Encoding
[SerializableAttribute] 
public ref class UTF32Encoding sealed : public
 Encoding
/** @attribute SerializableAttribute() */ 
public final class UTF32Encoding extends Encoding
SerializableAttribute 
public final class UTF32Encoding 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 進数シリアル化されます

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

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

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

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

メモメモ

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

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

使用例使用例

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

Imports System
Imports System.Text
Imports Microsoft.VisualBasic

Public Class SamplesUTF32Encoding   

   Public Shared Sub Main()

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

      ' Create two instances of UTF32Encoding using big-endian byte
 order: one with error detection and one without.
      ' These will be used for decoding.
      Dim u32withED As New
 UTF32Encoding(True, True, True)
      Dim u32noED As New
 UTF32Encoding(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)
      '    a high-surrogate value (U+D8FF)
      '    a low-surrogate value (U+DCFF)
      Dim myStr As String
 = "za" & ChrW(&H0306) & ChrW(&H01FD)
 & ChrW(&H03B2) & ChrW(&HD8FF) & ChrW(&HDCFF)

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

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

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

   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 'SamplesUTF32Encoding

using System;
using System.Text;

public class SamplesUTF32Encoding  {

   public static void Main()
  {

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

      // Create two instances of UTF32Encoding using big-endian byte
 order: one with error detection and one without.
      // These will be used for decoding.
      UTF32Encoding u32withED = new UTF32Encoding( true,
 true, true );
      UTF32Encoding u32noED   = new UTF32Encoding( 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)
      //    a high-surrogate value (U+D8FF)
      //    a low-surrogate value (U+DCFF)
      String myStr = "za\u0306\u01FD\u03B2\uD8FF\uDCFF";

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

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

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

   }


   // 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 UTF32Encoding using little-endian byte order.
   // This will be used for encoding.
   UTF32Encoding^ u32LE = gcnew UTF32Encoding( false,true
 );
   
   // Create two instances of UTF32Encoding using big-endian byte order:
 one with error detection and one without.
   // These will be used for decoding.
   UTF32Encoding^ u32withED = gcnew UTF32Encoding( true,true,true
 );
   UTF32Encoding^ u32noED = gcnew UTF32Encoding( 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)
   String^ myStr = L"za\u0306\u01FD\u03B2\xD8FF\xDCFF";
   
   // Encode the string using little-endian byte order.
   array<Byte>^myBytes = gcnew array<Byte>(u32LE->GetByteCount( myStr
 ));
   u32LE->GetBytes( myStr, 0, myStr->Length, myBytes, 0 );
   
   // Decode the byte array with error detection.
   Console::WriteLine( "Decoding with error detection:" );
   PrintDecodedString( myBytes, u32withED );
   
   // Decode the byte array without error detection.
   Console::WriteLine( "Decoding without error detection:" );
   PrintDecodedString( myBytes, u32noED );
}


// 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 SamplesUTF32Encoding
{
    public static void main(String[]
 args)
    {
        // Create an instance of UTF32Encoding using little-endian byte
 order.
        // This will be used for encoding.
        UTF32Encoding u32LE =  new UTF32Encoding(false,
 true);

        // Create two instances of UTF32Encoding using big-endian byte
 order: 
        // one with error detection and one without.
        // These will be used for decoding.
        UTF32Encoding u32withED =  new UTF32Encoding(true,
 true, true);
        UTF32Encoding u32noED =  new UTF32Encoding(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)
        //    a high-surrogate value (U+D8FF)
        //    a low-surrogate value (U+DCFF)
        String myStr = "za\u0306\u01FD\u03B2\uD8FF\uDCFF";

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

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

        // Decode the byte array without error detection.
        Console.WriteLine("Decoding without error detection:");
        PrintDecodedString(myBytes, u32noED);
    } //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
} //SamplesUTF32Encoding
継承階層継承階層
System.Object
   System.Text.Encoding
    System.Text.UTF32Encoding
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
UTF32Encoding メンバ
System.Text 名前空間
Encoding クラス
Encoder クラス
Decoder クラス
UTF8Encoding
UTF7Encoding
ASCIIEncoding クラス
UnicodeEncoding クラス
System.Globalization.UnicodeCategory
System.Globalization.CharUnicodeInfo



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

辞書ショートカット

すべての辞書の索引

「UTF32Encoding クラス」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS