EncoderReplacementFallback クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ Public NotInheritable Class EncoderReplacementFallback Inherits EncoderFallback

エンコード操作やデコード操作が失敗する一般的な理由は、基底のエンコーディング クラスで、文字とそれに対応するバイト シーケンスをマップできないことです。入力文字を出力バイト シーケンスに変換できない場合、EncoderReplacementFallback オブジェクトは、元の入力文字の代わりに、指定された置換文字列を使用します。変換プロセスは、置換文字列をエンコードしたうえで、元の入力の残りを引き続き処理します。
EncoderReplacementFallback オブジェクトの値は、このオブジェクトの初期化に使用された置換文字列です。

EncoderReplacementFallback クラスのコード例を次に示します。
' This example demonstrates the EncoderReplacementFallback class. Imports System Imports System.Text Class Sample Public Shared Sub Main() ' Create an encoding, which is equivalent to calling the ' ASCIIEncoding class constructor. ' The EncoderReplacementFallback parameter specifies that the ' string, "(unknown)", replace characters that cannot be encoded. ' A decoder replacement fallback is also specified, but in this ' code example the decoding operation cannot fail. Dim erf As New EncoderReplacementFallback("(unknown)") Dim drf As New DecoderReplacementFallback("(error)") Dim ae As Encoding = Encoding.GetEncoding("us-ascii", erf, drf) ' The input string consists of the Unicode characters LEFT POINTING ' DOUBLE ANGLE QUOTATION MARK (U+00AB), 'X' (U+0058), and RIGHT POINTING ' DOUBLE ANGLE QUOTATION MARK (U+00BB). ' The encoding can only encode characters in the US-ASCII range of U+0000 ' through U+007F. Consequently, the characters bracketing the 'X' character ' are replaced with the fallback replacement string, "(unknown)". Dim inputString As String = "«X»" Dim decodedString As String Dim twoNewLines As String = vbCrLf & vbCrLf Dim ix As Integer = 0 Dim numberOfEncodedBytes As Integer = ae.GetByteCount(inputString) ' Counteract the compiler adding an extra byte to the array. Dim encodedBytes(numberOfEncodedBytes - 1) As Byte ' -------------------------------------------------------------------------- Console.Clear() ' Display the name of the encoding. Console.WriteLine("The name of the encoding is ""{0}""." & vbCrLf, ae.WebName) ' Display the input string in text. Console.WriteLine("Input string ({0} characters): ""{1}""", _ inputString.Length, inputString) ' Display the input string in hexadecimal. ' Each element is converted to an integer with Convert.ToInt32. Console.Write("Input string in hexadecimal: ") Dim c As Char For Each c In inputString.ToCharArray() Console.Write("0x{0:X2} ", Convert.ToInt32(c)) Next c Console.Write(twoNewLines) ' -------------------------------------------------------------------------- ' Encode the input string. Console.WriteLine("Encode the input string...") numberOfEncodedBytes = ae.GetBytes(inputString, 0, inputString.Length, _ encodedBytes, 0) ' Display the encoded bytes. ' Each element is converted to an integer with Convert.ToInt32. Console.WriteLine("Encoded bytes in hexadecimal ({0} bytes):" & vbCrLf, _ numberOfEncodedBytes) ix = 0 Dim b As Byte For Each b In encodedBytes Console.Write("0x{0:X2} ", Convert.ToInt32(b)) ix += 1 If 0 = ix Mod 6 Then Console.WriteLine() End If Next b Console.Write(twoNewLines) ' -------------------------------------------------------------------------- ' Decode the encoded bytes, yielding a reconstituted string. Console.WriteLine("Decode the encoded bytes...") decodedString = ae.GetString(encodedBytes) ' Display the input string and the decoded string for comparison. Console.WriteLine("Input string: ""{0}""", inputString) Console.WriteLine("Decoded string:""{0}""", decodedString) End Sub 'Main End Class 'Sample ' 'This code example produces the following results: ' 'The name of the encoding is "us-ascii". ' 'Input string (3 characters): "X" 'Input string in hexadecimal: 0xAB 0x58 0xBB ' 'Encode the input string... 'Encoded bytes in hexadecimal (19 bytes): ' '0x28 0x75 0x6E 0x6B 0x6E 0x6F '0x77 0x6E 0x29 0x58 0x28 0x75 '0x6E 0x6B 0x6E 0x6F 0x77 0x6E '0x29 ' 'Decode the encoded bytes... 'Input string: "X" 'Decoded string:"(unknown)X(unknown)" '
// This example demonstrates the EncoderReplacementFallback class. using System; using System.Text; class Sample { public static void Main() { // Create an encoding, which is equivalent to calling the // ASCIIEncoding class constructor. // The EncoderReplacementFallback parameter specifies that the // string, "(unknown)", replace characters that cannot be encoded. // A decoder replacement fallback is also specified, but in this // code example the decoding operation cannot fail. Encoding ae = Encoding.GetEncoding( "us-ascii", new EncoderReplacementFallback("(unknown)"), new DecoderReplacementFallback("(error)")); // The input string consists of the Unicode characters LEFT POINTING // DOUBLE ANGLE QUOTATION MARK (U+00AB), 'X' (U+0058), and RIGHT POINTING // DOUBLE ANGLE QUOTATION MARK (U+00BB). // The encoding can only encode characters in the US-ASCII range of U+0000 // through U+007F. Consequently, the characters bracketing the 'X' character // are replaced with the fallback replacement string, "(unknown)". string inputString = "\u00abX\u00bb"; string decodedString; string twoNewLines = "\n\n"; byte[] encodedBytes = new byte[ae.GetByteCount(inputString)]; int numberOfEncodedBytes = 0; int ix = 0; // -------------------------------------------------------------------------- Console.Clear(); // Display the name of the encoding. Console.WriteLine("The name of the encoding is \"{0}\".\n", ae.WebName); // Display the input string in text. Console.WriteLine("Input string ({0} characters): \"{1}\"", inputString.Length, inputString); // Display the input string in hexadecimal. Console.Write("Input string in hexadecimal: "); foreach (char c in inputString.ToCharArray()) { Console.Write("0x{0:X2} ", (int)c); } Console.Write(twoNewLines); // -------------------------------------------------------------------------- // Encode the input string. Console.WriteLine("Encode the input string..."); numberOfEncodedBytes = ae.GetBytes(inputString, 0, inputString.Length, encodedBytes, 0); // Display the encoded bytes. Console.WriteLine("Encoded bytes in hexadecimal ({0} bytes):\n", numberOfEncodedBytes); ix = 0; foreach (byte b in encodedBytes) { Console.Write("0x{0:X2} ", (int)b); ix++; if (0 == ix % 6) Console.WriteLine(); } Console.Write(twoNewLines); // -------------------------------------------------------------------------- // Decode the encoded bytes, yielding a reconstituted string. Console.WriteLine("Decode the encoded bytes..."); decodedString = ae.GetString(encodedBytes); // Display the input string and the decoded string for comparison. Console.WriteLine("Input string: \"{0}\"", inputString); Console.WriteLine("Decoded string:\"{0}\"", decodedString); } } /* This code example produces the following results: The name of the encoding is "us-ascii". Input string (3 characters): "X" Input string in hexadecimal: 0xAB 0x58 0xBB Encode the input string... Encoded bytes in hexadecimal (19 bytes): 0x28 0x75 0x6E 0x6B 0x6E 0x6F 0x77 0x6E 0x29 0x58 0x28 0x75 0x6E 0x6B 0x6E 0x6F 0x77 0x6E 0x29 Decode the encoded bytes... Input string: "X" Decoded string:"(unknown)X(unknown)" */
// This example demonstrates the EncoderReplacementFallback class. using namespace System; using namespace System::Text; int main() { // Create an encoding, which is equivalent to calling the // ASCIIEncoding class constructor. // The EncoderReplacementFallback parameter specifies that the // string, "(unknown)", replace characters that cannot be encoded. // A decoder replacement fallback is also specified, but in this // code example the decoding operation cannot fail. Encoding^ ascii = Encoding::GetEncoding("us-ascii", gcnew EncoderReplacementFallback("(unknown)"), gcnew DecoderReplacementFallback("(error)")); // The input string consists of the Unicode characters LEFT POINTING // DOUBLE ANGLE QUOTATION MARK (U+00AB), 'X' (U+0058), and RIGHT // POINTING DOUBLE ANGLE QUOTATION MARK (U+00BB). // The encoding can only encode characters in the US-ASCII range of // U+0000 through U+007F. Consequently, the characters bracketing the // 'X' character are replaced with the fallback replacement string , // "(unknown)". String^ inputString = "\u00abX\u00bb"; String^ decodedString; String^ twoNewLines = Environment::NewLine + Environment::NewLine; array <Byte>^ encodedBytes = gcnew array<Byte>(ascii->GetByteCount(inputString)); int numberOfEncodedBytes = 0; // --------------------------------------------------------------------- Console::Clear(); // Display the name of the encoding. Console::WriteLine("The name of the encoding is \"{0}\".{1}", ascii->WebName, Environment::NewLine); // Display the input string in text. Console::WriteLine("Input string ({0} characters): \"{1}\"" , inputString->Length, inputString); // Display the input string in hexadecimal. Console::Write("Input string in hexadecimal: "); for each (char c in inputString) { Console::Write("0x{0:X2} ", c); } Console::Write(twoNewLines); // --------------------------------------------------------------------- // Encode the input string. Console::WriteLine("Encode the input string..."); numberOfEncodedBytes = ascii->GetBytes(inputString, 0, inputString->Length , encodedBytes, 0); // Display the encoded bytes. Console::WriteLine("Encoded bytes in hexadecimal ({0} bytes):{1}", numberOfEncodedBytes, Environment::NewLine); for(int i = 0; i < encodedBytes->Length; i++) { Console::Write("0x{0:X2} ", encodedBytes[i]); if(((i + 1) % 6) == 0) { Console::WriteLine(); } } Console::Write(twoNewLines); // --------------------------------------------------------------------- // Decode the encoded bytes, yielding a reconstituted string. Console::WriteLine("Decode the encoded bytes..."); decodedString = ascii->GetString(encodedBytes); // Display the input string and the decoded string for comparison. Console::WriteLine("Input string: \"{0}\"", inputString); Console::WriteLine("Decoded string:\"{0}\"", decodedString); } /* This code example produces the following results: The name of the encoding is "us-ascii". Input string (3 characters): "X" Input string in hexadecimal: 0xAB 0x58 0xBB Encode the input string... Encoded bytes in hexadecimal (19 bytes): 0x28 0x75 0x6E 0x6B 0x6E 0x6F 0x77 0x6E 0x29 0x58 0x28 0x75 0x6E 0x6B 0x6E 0x6F 0x77 0x6E 0x29 Decode the encoded bytes... Input string: "X" Decoded string:"(unknown)X(unknown)" */

System.Text.EncoderFallback
System.Text.EncoderReplacementFallback


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


EncoderReplacementFallback メンバ
System.Text 名前空間
EncoderReplacementFallbackBuffer
EncoderReplacementFallback
DefaultString
EncoderReplacementFallback コンストラクタ ()
アセンブリ: mscorlib (mscorlib.dll 内)



Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


EncoderReplacementFallback コンストラクタ (String)
アセンブリ: mscorlib (mscorlib.dll 内)

Public Sub New ( _ replacement As String _ )
Dim replacement As String Dim instance As New EncoderReplacementFallback(replacement)
public EncoderReplacementFallback ( string replacement )
public: EncoderReplacementFallback ( String^ replacement )
public EncoderReplacementFallback ( String replacement )
public function EncoderReplacementFallback ( replacement : String )



Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


EncoderReplacementFallback クラス
EncoderReplacementFallback メンバ
System.Text 名前空間
DefaultString
EncoderReplacementFallback
EncoderReplacementFallback コンストラクタ

名前 | 説明 |
---|---|
EncoderReplacementFallback () | EncoderReplacementFallback クラスの新しいインスタンスを初期化します。 |
EncoderReplacementFallback (String) | 指定した置換文字列を使用して、EncoderReplacementFallback クラスの新しいインスタンスを初期化します。 |

EncoderReplacementFallback プロパティ

名前 | 説明 | |
---|---|---|
![]() | ExceptionFallback | 入力文字をエンコードできない場合に例外をスローする EncoderFallback オブジェクトを取得します。 ( EncoderFallback から継承されます。) |
![]() | MaxCharCount | オーバーライドされます。 この EncoderReplacementFallback オブジェクトの置換文字列に含まれる文字数を取得します。 |
![]() | ReplacementFallback | エンコードできない入力文字の代わりに代替文字列を作成する EncoderFallback オブジェクトを取得します。 ( EncoderFallback から継承されます。) |

関連項目
EncoderReplacementFallback クラスSystem.Text 名前空間
EncoderReplacementFallbackBuffer
EncoderReplacementFallback
DefaultString
EncoderReplacementFallback メソッド

名前 | 説明 | |
---|---|---|
![]() | CreateFallbackBuffer | オーバーライドされます。 この EncoderReplacementFallback オブジェクトの置換文字列で初期化される EncoderFallbackBuffer オブジェクトを作成します。 |
![]() | Equals | オーバーロードされます。 オーバーライドされます。 |
![]() | GetHashCode | オーバーライドされます。 この EncoderReplacementFallback オブジェクトの値のハッシュ コードを取得します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

関連項目
EncoderReplacementFallback クラスSystem.Text 名前空間
EncoderReplacementFallbackBuffer
EncoderReplacementFallback
DefaultString
EncoderReplacementFallback メンバ
出力バイト シーケンスに変換できない入力文字のために、フォールバックと呼ばれるエラー処理機構を提供します。フォールバックは、元の入力文字の代わりに、ユーザー指定の置換文字列を提供します。このクラスは継承できません。
EncoderReplacementFallback データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | ExceptionFallback | 入力文字をエンコードできない場合に例外をスローする EncoderFallback オブジェクトを取得します。(EncoderFallback から継承されます。) |
![]() | MaxCharCount | オーバーライドされます。 この EncoderReplacementFallback オブジェクトの置換文字列に含まれる文字数を取得します。 |
![]() | ReplacementFallback | エンコードできない入力文字の代わりに代替文字列を作成する EncoderFallback オブジェクトを取得します。(EncoderFallback から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | CreateFallbackBuffer | オーバーライドされます。 この EncoderReplacementFallback オブジェクトの置換文字列で初期化される EncoderFallbackBuffer オブジェクトを作成します。 |
![]() | Equals | オーバーロードされます。 オーバーライドされます。 |
![]() | GetHashCode | オーバーライドされます。 この EncoderReplacementFallback オブジェクトの値のハッシュ コードを取得します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

関連項目
EncoderReplacementFallback クラスSystem.Text 名前空間
EncoderReplacementFallbackBuffer
EncoderReplacementFallback
DefaultString
Weblioに収録されているすべての辞書からEncoderReplacementFallbackを検索する場合は、下記のリンクをクリックしてください。

- EncoderReplacementFallbackのページへのリンク