UTF8Encoding クラスの新しいインスタンスを初期化します。パラメータでは、Unicode バイト順マークを付加するかどうかを指定します。
名前空間: System.Text
アセンブリ: mscorlib (mscorlib.dll 内)
構文
'宣言
Public Sub New ( _
encoderShouldEmitUTF8Identifier As Boolean _
)
'使用
Dim encoderShouldEmitUTF8Identifier As Boolean
Dim instance As New UTF8Encoding(encoderShouldEmitUTF8Identifier)
public UTF8Encoding (
bool encoderShouldEmitUTF8Identifier
)
public:
UTF8Encoding (
bool encoderShouldEmitUTF8Identifier
)
public UTF8Encoding (
boolean encoderShouldEmitUTF8Identifier
)
public function UTF8Encoding (
encoderShouldEmitUTF8Identifier : boolean
)
適用できません。
パラメータ
- encoderShouldEmitUTF8Identifier
Unicode バイト順マークを付加するよう指定する場合は true。それ以外の場合は false。
解説
このコンストラクタは、無効なエンコーディングを検出したときに例外をスローしないインスタンスを作成します。
![]() |
---|
セキュリティ上の理由から、throwOnInvalidBytes パラメータを受け取るコンストラクタを使用して、このパラメータを true に設定することにより、エラー検出を有効にすることをお勧めします。 |
UTF8Encoding は、オプションでプリアンブルを提供します。プリアンブルは、エンコーディング プロセスで得られたバイト シーケンスの先頭に付加できるバイトの配列です。プリアンブルにバイト順マーク (コード ポイント U+FEFF) が含まれる場合、デコーダはバイト順および変換形式 (UTF) を判断できます。Unicode バイト順マークは、EF BB BF (16 進数) としてシリアル化されます。GetPreamble メソッドは、バイト順マークを格納するバイト配列を返します。
Unicode エンコーディング、バイト順、およびバイト順マークの詳細については、www.unicode.org の「Unicode Standard」を参照してください。
使用例
次の例は、エンコーディング時に Unicode バイト順マーク プリフィックスを作成するよう指定して、新しい UTF8Encoding インスタンスを作成する方法を示しています。GetPreamble メソッドは、Unicode バイト順マーク プリフィックスを返し、コンソールに表示します。既定のコンストラクタを使用して作成した UTF8Encoding には、Unicode バイト順マーク プリフィックスはありません。
Imports System
Imports System.Text
Class UTF8EncodingExample
Public Shared Sub Main()
Dim utf8 As New UTF8Encoding()
Dim utf8EmitBOM As New UTF8Encoding(True)
Console.WriteLine("utf8 preamble:")
ShowArray(utf8.GetPreamble())
Console.WriteLine("utf8EmitBOM:")
ShowArray(utf8EmitBOM.GetPreamble())
End Sub 'Main
Public Shared Sub ShowArray(theArray As Array)
Dim o As Object
For Each o In theArray
Console.Write("[{0}]", o)
Next o
Console.WriteLine()
End Sub 'ShowArray
End Class 'UTF8EncodingExample
using System;
using System.Text;
class UTF8EncodingExample {
public static void Main() {
UTF8Encoding utf8 = new UTF8Encoding();
UTF8Encoding utf8EmitBOM = new UTF8Encoding(true);
Console.WriteLine("utf8 preamble:");
ShowArray(utf8.GetPreamble());
Console.WriteLine("utf8EmitBOM:");
ShowArray(utf8EmitBOM.GetPreamble());
}
public static void ShowArray(Array theArray) {
foreach (Object o in theArray) {
Console.Write("[{0}]", o);
}
Console.WriteLine();
}
}
using namespace System;
using namespace System::Text;
using namespace System::Collections;
void ShowArray( Array^ theArray )
{
IEnumerator^ myEnum = theArray->GetEnumerator();
while ( myEnum->MoveNext() )
{
Object^ o = safe_cast<Object^>(myEnum->Current);
Console::Write( "[{0}]", o );
}
Console::WriteLine();
}
int main()
{
UTF8Encoding^ utf8 = gcnew UTF8Encoding;
UTF8Encoding^ utf8EmitBOM = gcnew UTF8Encoding( true );
Console::WriteLine( "utf8 preamble:" );
ShowArray( utf8->GetPreamble() );
Console::WriteLine( "utf8EmitBOM:" );
ShowArray( utf8EmitBOM->GetPreamble() );
}
import System.*;
import System.Text.*;
class UTF8EncodingExample
{
public static void main(String[] args)
{
UTF8Encoding utf8 = new UTF8Encoding();
UTF8Encoding utf8EmitBOM = new UTF8Encoding(true);
Console.WriteLine("utf8 preamble:");
ShowArray(utf8.GetPreamble());
Console.WriteLine("utf8EmitBOM:");
ShowArray(utf8EmitBOM.GetPreamble());
} //main
public static void ShowArray(Array theArray)
{
Object o = null;
for (int iCtr = 0; iCtr < theArray.get_Length(); iCtr++) {
o = theArray.get_Item(iCtr);
Console.Write("[{0}]", o);
}
Console.WriteLine();
} //ShowArray
} //UTF8EncodingExample
プラットフォーム
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
参照
関連項目
UTF8Encoding クラス
UTF8Encoding メンバ
System.Text 名前空間
GetPreamble