次の方法で共有


Encoding.Convert メソッド

定義

バイト配列をエンコード間で変換します。

オーバーロード

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

バイト配列内のバイト範囲をエンコード間で変換します。

Convert(Encoding, Encoding, Byte[])

バイト配列全体を 1 つのエンコードから別のエンコードに変換します。

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

ソース:
Encoding.cs
ソース:
Encoding.cs
ソース:
Encoding.cs

バイト配列内のバイト範囲をエンコード間で変換します。

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

ソース配列のエンコード bytes

dstEncoding
Encoding

出力配列のエンコード。

bytes
Byte[]

変換するバイトの配列。

index
Int32

変換する bytes の最初の要素のインデックス。

count
Int32

変換するバイト数。

戻り値

Byte[]

bytes 内のバイト範囲を srcEncoding から dstEncodingに変換した結果を格納 Byte 型の配列。

例外

srcEncodingnullです。

-又は-

dstEncodingnullです。

-又は-

bytesnullです。

indexcount は、バイト配列に有効な範囲を指定しません。

フォールバックが発生しました (詳細については、「.NETでの文字エンコードの 」を参照してください)

-そして-

srcEncoding を します。DecoderFallbackDecoderExceptionFallbackに設定されます。

フォールバックが発生しました (詳細については、「.NETでの文字エンコードの 」を参照してください)

-そして-

dstEncoding を します。EncoderFallbackEncoderExceptionFallbackに設定されます。

適用対象

Convert(Encoding, Encoding, Byte[])

ソース:
Encoding.cs
ソース:
Encoding.cs
ソース:
Encoding.cs

バイト配列全体を 1 つのエンコードから別のエンコードに変換します。

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

bytesのエンコード形式。

dstEncoding
Encoding

ターゲット エンコード形式。

bytes
Byte[]

変換するバイト数。

戻り値

Byte[]

bytessrcEncoding から dstEncodingに変換した結果を格納する Byte 型の配列。

例外

srcEncodingnullです。

-又は-

dstEncodingnullです。

-又は-

bytesnullです。

フォールバックが発生しました (詳細については、「.NETでの文字エンコードの 」を参照してください)

-そして-

srcEncoding を します。DecoderFallbackDecoderExceptionFallbackに設定されます。

フォールバックが発生しました (詳細については、「.NETでの文字エンコードの 」を参照してください)

-そして-

dstEncoding を します。EncoderFallbackEncoderExceptionFallbackに設定されます。

次の例では、Unicode エンコード文字列を ASCII エンコード文字列に変換します。 ASCII プロパティによって返される ASCII エンコード オブジェクトは代替フォールバックを使用し、Pi 文字は ASCII 文字セットの一部ではないため、Pi 文字は疑問符に置き換えられます。この例の出力が示すようにします。

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 (?)

適用対象