Encoding.Convert Encoding.Convert Encoding.Convert Encoding.Convert Method

定義

バイト配列を、あるエンコーディングから別のエンコーディングに変換します。Converts a byte array from one encoding to another.

オーバーロード

Convert(Encoding, Encoding, Byte[], Int32, Int32) Convert(Encoding, Encoding, Byte[], Int32, Int32) Convert(Encoding, Encoding, Byte[], Int32, Int32) Convert(Encoding, Encoding, Byte[], Int32, Int32)

バイト配列内のバイトの範囲を、あるエンコーディングから別のエンコーディングに変換します。Converts a range of bytes in a byte array from one encoding to another.

Convert(Encoding, Encoding, Byte[]) Convert(Encoding, Encoding, Byte[]) Convert(Encoding, Encoding, Byte[]) Convert(Encoding, Encoding, Byte[])

バイト配列全体を、あるエンコーディングから別のエンコーディングに変換します。Converts an entire byte array from one encoding to another.

Convert(Encoding, Encoding, Byte[], Int32, Int32) Convert(Encoding, Encoding, Byte[], Int32, Int32) Convert(Encoding, Encoding, Byte[], Int32, Int32) Convert(Encoding, Encoding, Byte[], Int32, Int32)

バイト配列内のバイトの範囲を、あるエンコーディングから別のエンコーディングに変換します。Converts a range of bytes in a byte array from one encoding to another.

public:
 static cli::array <System::Byte> ^ Convert(System::Text::Encoding ^ srcEncoding, System::Text::Encoding ^ dstEncoding, cli::array <System::Byte> ^ bytes, int index, int count);
public static byte[] Convert (System.Text.Encoding srcEncoding, System.Text.Encoding dstEncoding, byte[] bytes, int index, int count);
static member Convert : System.Text.Encoding * System.Text.Encoding * byte[] * int * int -> byte[]
Public Shared Function Convert (srcEncoding As Encoding, dstEncoding As Encoding, bytes As Byte(), index As Integer, count As Integer) As Byte()

パラメーター

srcEncoding
Encoding Encoding Encoding Encoding

変換前の配列 bytes のエンコーディング。The encoding of the source array, bytes.

dstEncoding
Encoding Encoding Encoding Encoding

変換後の配列のエンコーディング。The encoding of the output array.

bytes
Byte[]

変換対象のバイト配列。The array of bytes to convert.

index
Int32 Int32 Int32 Int32

変換対象の bytes の最初の要素を示すインデックス。The index of the first element of bytes to convert.

count
Int32 Int32 Int32 Int32

変換するバイト数。The number of bytes to convert.

戻り値

Byte[]

Byte に含まれる特定の範囲のバイトを bytes から srcEncoding へ変換した結果が格納されている dstEncoding 型の配列。An array of type Byte containing the result of converting a range of bytes in bytes from srcEncoding to dstEncoding.

例外

srcEncodingnullです。srcEncoding is null.

- または --or- dstEncodingnullです。dstEncoding is null.

- または --or- bytesnullです。bytes is null.

index および count がバイト配列内の有効範囲を指定していません。index and count do not specify a valid range in the byte array.

フォールバックが発生しました (詳細な説明は、「.NET での文字エンコード」をご覧ください)A fallback occurred (see Character Encoding in .NET for complete explanation) および-and- srcEncoding です。srcEncoding. DecoderFallbackDecoderExceptionFallback に設定されます。DecoderFallback is set to DecoderExceptionFallback.

フォールバックが発生しました (詳細な説明は、「.NET での文字エンコード」をご覧ください)A fallback occurred (see Character Encoding in .NET for complete explanation) および-and- dstEncoding です。dstEncoding. EncoderFallbackEncoderExceptionFallback に設定されます。EncoderFallback is set to EncoderExceptionFallback.

Convert(Encoding, Encoding, Byte[]) Convert(Encoding, Encoding, Byte[]) Convert(Encoding, Encoding, Byte[]) Convert(Encoding, Encoding, Byte[])

バイト配列全体を、あるエンコーディングから別のエンコーディングに変換します。Converts an entire byte array from one encoding to another.

public:
 static cli::array <System::Byte> ^ Convert(System::Text::Encoding ^ srcEncoding, System::Text::Encoding ^ dstEncoding, cli::array <System::Byte> ^ bytes);
public static byte[] Convert (System.Text.Encoding srcEncoding, System.Text.Encoding dstEncoding, byte[] bytes);
static member Convert : System.Text.Encoding * System.Text.Encoding * byte[] -> byte[]
Public Shared Function Convert (srcEncoding As Encoding, dstEncoding As Encoding, bytes As Byte()) As Byte()

パラメーター

srcEncoding
Encoding Encoding Encoding Encoding

bytes のエンコーディング形式。The encoding format of bytes.

dstEncoding
Encoding Encoding Encoding Encoding

変換後のエンコーディング形式。The target encoding format.

bytes
Byte[]

変換対象のバイト。The bytes to convert.

戻り値

Byte[]

Bytebytes から srcEncoding へ変換した結果を格納する dstEncoding 型の配列。An array of type Byte containing the results of converting bytes from srcEncoding to dstEncoding.

例外

srcEncodingnullです。srcEncoding is null.

- または --or- dstEncodingnullです。dstEncoding is null.

- または --or- bytesnullです。bytes is null.

フォールバックが発生しました (詳細な説明は、「.NET での文字エンコード」をご覧ください)A fallback occurred (see Character Encoding in .NET for complete explanation) および-and- srcEncoding です。srcEncoding. DecoderFallbackDecoderExceptionFallback に設定されます。DecoderFallback is set to DecoderExceptionFallback.

フォールバックが発生しました (詳細な説明は、「.NET での文字エンコード」をご覧ください)A fallback occurred (see Character Encoding in .NET for complete explanation) および-and- dstEncoding です。dstEncoding. EncoderFallbackEncoderExceptionFallback に設定されます。EncoderFallback is set to EncoderExceptionFallback.

次の例では、ASCII でエンコードされた文字列に Unicode でエンコードされた文字列に変換します。The following example converts a Unicode-encoded string to an ASCII-encoded string. ASCII エンコード オブジェクトがによって返されるため、ASCIIプロパティが置換フォールバックを使用して、Pi 文字、ASCII 文字セットの一部でないと、例の出力として、Pi の文字が疑問符 (?) に置き換えられます。Because the ASCII encoding object returned by the ASCII property uses replacement fallback and the Pi character is not part of the ASCII character set, the Pi character is replaced with a question mark, as the output from the example shows.

using namespace System;
using namespace System::Text;

int main()
{
   String^ unicodeString = "This string contains the unicode character Pi (\u03a0)";
   
   // Create two different encodings.
   Encoding^ ascii = Encoding::ASCII;
   Encoding^ unicode = Encoding::Unicode;
   
   // Convert the string into a byte array.
   array<Byte>^unicodeBytes = unicode->GetBytes( unicodeString );
   
   // Perform the conversion from one encoding to the other.
   array<Byte>^asciiBytes = Encoding::Convert( unicode, ascii, unicodeBytes );
   
   // Convert the new Byte into[] a char and[] then into a string.
   array<Char>^asciiChars = gcnew array<Char>(ascii->GetCharCount( asciiBytes, 0, asciiBytes->Length ));
   ascii->GetChars( asciiBytes, 0, asciiBytes->Length, asciiChars, 0 );
   String^ asciiString = gcnew String( asciiChars );
   
   // Display the strings created before and after the conversion.
   Console::WriteLine( "Original String*: {0}", unicodeString );
   Console::WriteLine( "Ascii converted String*: {0}", asciiString );
}
// The example displays the following output:
//    Original string: This string contains the unicode character Pi (Π)
//    Ascii converted string: This string contains the unicode character Pi (?)
using System;
using System.Text;

class Example
{
   static void Main()
   {
      string unicodeString = "This string contains the unicode character Pi (\u03a0)";

      // Create two different encodings.
      Encoding ascii = Encoding.ASCII;
      Encoding unicode = Encoding.Unicode;

      // Convert the string into a byte array.
      byte[] unicodeBytes = unicode.GetBytes(unicodeString);

      // Perform the conversion from one encoding to the other.
      byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes);
         
      // Convert the new byte[] into a char[] and then into a string.
      char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
      ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
      string asciiString = new string(asciiChars);

      // Display the strings created before and after the conversion.
      Console.WriteLine("Original string: {0}", unicodeString);
      Console.WriteLine("Ascii converted string: {0}", asciiString);
   }
}
// The example displays the following output:
//    Original string: This string contains the unicode character Pi (Π)
//    Ascii converted string: This string contains the unicode character Pi (?)
Imports System.Text

Class Example
   Shared Sub Main()
      Dim unicodeString As String = "This string contains the unicode character Pi (" & ChrW(&H03A0) & ")"

      ' Create two different encodings.
      Dim ascii As Encoding = Encoding.ASCII
      Dim unicode As Encoding = Encoding.Unicode

      ' Convert the string into a byte array.
      Dim unicodeBytes As Byte() = unicode.GetBytes(unicodeString)

      ' Perform the conversion from one encoding to the other.
      Dim asciiBytes As Byte() = Encoding.Convert(unicode, ascii, unicodeBytes)

      ' Convert the new byte array into a char array and then into a string.
      Dim asciiChars(ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)-1) As Char
      ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0)
      Dim asciiString As New String(asciiChars)

      ' Display the strings created before and after the conversion.
      Console.WriteLine("Original string: {0}", unicodeString)
      Console.WriteLine("Ascii converted string: {0}", asciiString)
   End Sub
End Class
' The example displays the following output:
'    Original string: This string contains the unicode character Pi (Π)
'    Ascii converted string: This string contains the unicode character Pi (?)

適用対象