Encoding.Convert 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
바이트 배열을 한 인코딩에서 다른 인코딩으로 변환합니다.
오버로드
Convert(Encoding, Encoding, Byte[], Int32, Int32) |
바이트 배열의 바이트 범위를 한 인코딩에서 다른 인코딩으로 변환합니다. |
Convert(Encoding, Encoding, Byte[]) |
전체 바이트 배열의 인코딩을 변환합니다. |
Convert(Encoding, Encoding, Byte[], Int32, Int32)
바이트 배열의 바이트 범위를 한 인코딩에서 다른 인코딩으로 변환합니다.
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[]
Byte의 바이트 범위를 bytes
에서 srcEncoding
으로 변환한 결과를 포함하는 dstEncoding
형식의 배열입니다.
예외
index
및 count
가 바이트 배열의 유효한 범위를 지정하지 않는 경우
대체가 발생했습니다(자세한 내용은 .NET의 문자 인코딩 참조).
및
srcEncoding. DecoderFallback이 DecoderExceptionFallback로 설정됩니다.
대체가 발생했습니다(자세한 내용은 .NET의 문자 인코딩 참조).
및
dstEncoding. EncoderFallback이 EncoderExceptionFallback로 설정됩니다.
적용 대상
Convert(Encoding, Encoding, Byte[])
전체 바이트 배열의 인코딩을 변환합니다.
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[]
Byte를 bytes
에서 srcEncoding
으로 변환한 결과를 포함하는 dstEncoding
형식의 배열입니다.
예외
대체가 발생했습니다(자세한 내용은 .NET의 문자 인코딩 참조).
및
srcEncoding. DecoderFallback이 DecoderExceptionFallback로 설정됩니다.
대체가 발생했습니다(자세한 내용은 .NET의 문자 인코딩 참조).
및
dstEncoding. EncoderFallback이 EncoderExceptionFallback로 설정됩니다.
예제
다음 예에서는 유니코드로 인코딩된 문자열을 ASCII로 인코딩된 문자열로 변환 합니다. 속성에서 반환 하는 ASCII 인코딩 개체는 ASCII 대체 대체 (fallback)를 사용 하 고 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 (?)