UnicodeEncoding.GetPreamble メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > UnicodeEncoding.GetPreamble メソッドの意味・解説 

UnicodeEncoding.GetPreamble メソッド

このインスタンスコンストラクタバイト順マーク付加するよう指定した場合に、UTF-32 形式エンコードされた Unicode バイト順マーク返します

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

解説解説

プリアンブルエンコード済みストリーム前に付加されていると、デコーダによる使用エンコーディング形式識別役立ちます

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

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

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

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

注意に関するメモ注意

エンコード済みバイト正しくデコードするには、エンコード済みバイト前にプリアンブル付加します

使用例使用例

次のコード例は、GetPreamble メソッド使用してUnicodeEncodingインスタンスUnicode バイト順マークビッグエンディアン形式またはリトルエンディアン形式返す方法示してます。

Imports System
Imports System.Text
Imports Microsoft.VisualBasic

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        Dim byteOrderMark() As Byte
        Dim b As Byte
        
        byteOrderMark = Encoding.Unicode.GetPreamble()
        Console.WriteLine("Default (little-endian) Unicode Preamble:")
        For Each b In  byteOrderMark
            Console.Write("[{0}]", b)
        Next b
        Console.WriteLine(ControlChars.NewLine)
        
        Dim bigEndianUnicode As New
 UnicodeEncoding(True, True)
        byteOrderMark = bigEndianUnicode.GetPreamble()
        Console.WriteLine("Big-endian Unicode Preamble:")
        For Each b In  byteOrderMark
            Console.Write("[{0}]", b)
        Next b
    End Sub 'Main
End Class 'UnicodeEncodingExample
using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main()
 {
        Byte[] byteOrderMark;
        
        byteOrderMark = Encoding.Unicode.GetPreamble();
        Console.WriteLine("Default (little-endian) Unicode Preamble:");
        foreach (Byte b in byteOrderMark) {
            Console.Write("[{0}]", b);
        }
        Console.WriteLine("\n");

        UnicodeEncoding bigEndianUnicode = new UnicodeEncoding(true,
 true);
        byteOrderMark = bigEndianUnicode.GetPreamble();
        Console.WriteLine("Big-endian Unicode Preamble:");
        foreach (Byte b in byteOrderMark) {
            Console.Write("[{0}]", b);
        }
    }
}
using namespace System;
using namespace System::Text;
using namespace System::Collections;
int main()
{
   array<Byte>^byteOrderMark;
   byteOrderMark = Encoding::Unicode->GetPreamble();
   Console::WriteLine( "Default (little-endian) Unicode Preamble:" );
   IEnumerator^ myEnum = byteOrderMark->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Byte b = safe_cast<Byte>(myEnum->Current);
      Console::Write( "[{0}]", b );
   }

   Console::WriteLine( "\n" );
   UnicodeEncoding^ bigEndianUnicode = gcnew UnicodeEncoding( true,true
 );
   byteOrderMark = bigEndianUnicode->GetPreamble();
   Console::WriteLine( "Big-endian Unicode Preamble:" );
   myEnum = byteOrderMark->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Byte b = safe_cast<Byte>(myEnum->Current);
      Console::Write( "[{0}]", b );
   }
}

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

class UnicodeEncodingExample
{
    public static void main(String[]
 args)
    {
        ubyte byteOrderMark[];
        byteOrderMark = Encoding.get_Unicode().GetPreamble();
        Console.WriteLine("Default (little-endian) Unicode Preamble:");
        for(int iCtr = 0; iCtr < byteOrderMark.length;
 iCtr++) {
            ubyte b = byteOrderMark[iCtr];
            Console.Write("[{0}]", String.valueOf(b));
        }
        Console.WriteLine("\n");
        UnicodeEncoding bigEndianUnicode = new UnicodeEncoding(true,
 true);
        byteOrderMark = bigEndianUnicode.GetPreamble();
        Console.WriteLine("Big-endian Unicode Preamble:");
        for(int iCtr = 0; iCtr < byteOrderMark.length;
 iCtr++) {
            ubyte b = byteOrderMark[iCtr];
            Console.Write("[{0}]", String.valueOf(b));
        }
    } //main
} //UnicodeEncodingExample
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



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

辞書ショートカット

すべての辞書の索引

UnicodeEncoding.GetPreamble メソッドのお隣キーワード
検索ランキング

   

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



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

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

©2025 GRAS Group, Inc.RSS