다음을 통해 공유


Encoding.Convert 메서드

정의

바이트 배열을 한 인코딩에서 다른 인코딩으로 변환합니다.

오버로드

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

바이트 배열의 바이트 범위를 한 인코딩에서 다른 인코딩으로 변환합니다.

Convert(Encoding, Encoding, Byte[])

전체 바이트 배열을 한 인코딩에서 다른 인코딩으로 변환합니다.

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

Source:
Encoding.cs
Source:
Encoding.cs
Source:
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 바이트 범위를 srcEncodingdstEncoding변환한 결과를 포함하는 형식 Byte 배열입니다.

예외

srcEncoding null.

-또는-

dstEncoding null.

-또는-

bytes null.

indexcount 바이트 배열에 유효한 범위를 지정하지 않습니다.

대체가 발생했습니다(자세한 내용은 .NET문자 인코딩 참조).

-그리고-

srcEncoding입니다.DecoderFallbackDecoderExceptionFallback.

대체가 발생했습니다(자세한 내용은 .NET문자 인코딩 참조).

-그리고-

dstEncoding입니다.EncoderFallbackEncoderExceptionFallback.

적용 대상

Convert(Encoding, Encoding, Byte[])

Source:
Encoding.cs
Source:
Encoding.cs
Source:
Encoding.cs

전체 바이트 배열을 한 인코딩에서 다른 인코딩으로 변환합니다.

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[]

bytes srcEncoding dstEncoding변환한 결과를 포함하는 형식 Byte 배열입니다.

예외

srcEncoding null.

-또는-

dstEncoding null.

-또는-

bytes null.

대체가 발생했습니다(자세한 내용은 .NET문자 인코딩 참조).

-그리고-

srcEncoding입니다.DecoderFallbackDecoderExceptionFallback.

대체가 발생했습니다(자세한 내용은 .NET문자 인코딩 참조).

-그리고-

dstEncoding입니다.EncoderFallbackEncoderExceptionFallback.

예제

다음 예제에서는 유니코드로 인코딩된 문자열을 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 (?)

적용 대상