UnicodeEncoding コンストラクタ (Boolean, Boolean)
UnicodeEncoding クラスの新しいインスタンスを初期化します。パラメータでは、ビッグ エンディアン バイト順を使用するかどうか、および Unicode バイト順マークを付加するかどうかを指定します。
名前空間: System.Text
アセンブリ: mscorlib (mscorlib.dll 内)
構文
'宣言
Public Sub New ( _
bigEndian As Boolean, _
byteOrderMark As Boolean _
)
'使用
Dim bigEndian As Boolean
Dim byteOrderMark As Boolean
Dim instance As New UnicodeEncoding(bigEndian, byteOrderMark)
public UnicodeEncoding (
bool bigEndian,
bool byteOrderMark
)
public:
UnicodeEncoding (
bool bigEndian,
bool byteOrderMark
)
public UnicodeEncoding (
boolean bigEndian,
boolean byteOrderMark
)
public function UnicodeEncoding (
bigEndian : boolean,
byteOrderMark : boolean
)
適用できません。
パラメータ
- bigEndian
最上位バイトが先頭に配置されるビッグ エンディアン バイト順を使用する場合は true。最下位バイトが先頭に配置されるリトル エンディアン バイト順を使用する場合は false。
- byteOrderMark
Unicode バイト順マークを付加するよう指定する場合は true。それ以外の場合は false。
解説
このコンストラクタは、無効なエンコーディングを検出したときに例外をスローしないインスタンスを作成します。
注意 : |
---|
セキュリティ上の理由から、throwOnInvalidBytes パラメータを受け取るコンストラクタを使用して、このパラメータを true に設定することにより、エラー検出を有効にすることをお勧めします。 |
エンコーダでは、最上位バイトが先頭に配置されるビッグ エンディアン バイト順、または最下位バイトが先頭に配置されるリトル エンディアン バイト順が使用されます。たとえば、Latin の大文字 A (コード ポイント U+0041) は次のように 16 進数でシリアル化されます。
ビッグ エンディアン バイト順 : 00 41
リトル エンディアン バイト順 : 41 00
UnicodeEncoding は、オプションでプリアンブルを提供します。プリアンブルは、エンコーディング プロセスで得られたバイト シーケンスの先頭に付加できるバイトの配列です。プリアンブルにバイト順マーク (コード ポイント U+FEFF) が含まれる場合、デコーダはバイト順および変換形式 (UTF) を判断できます。Unicode バイト順マークは、次のように 16 進数でシリアル化されます。
ビッグ エンディアン バイト順 : FE FF
リトル エンディアン バイト順 : FF FE
通常、ネイティブなバイト順で 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
プラットフォーム
Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition
Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。
バージョン情報
.NET Framework
サポート対象 : 3.0,2.0,1.1,1.0
.NET Compact Framework
サポート対象 : 2.0,1.0
XNA Framework
サポート対象 : 1.0
参照
関連項目
UnicodeEncoding クラス
UnicodeEncoding メンバ
System.Text 名前空間
GetPreamble