バイト配列を、あるエンコーディングから別のエンコーディングに変換します。
Overloads Public Shared Function Convert( _
ByVal srcEncoding As Encoding, _ ByVal dstEncoding As Encoding, _ ByVal bytes() As Byte _) As Byte()
[C#]
public static byte[] Convert(EncodingsrcEncoding,EncodingdstEncoding,byte[] bytes);
[C++]
public: static unsigned char Convert(Encoding* srcEncoding,Encoding* dstEncoding,unsigned charbytes __gc[]) __gc[];
[JScript]
public static function Convert(
srcEncoding : Encoding,dstEncoding : Encoding,bytes : Byte[]) : Byte[];
パラメータ
- srcEncoding
bytes が存在するエンコーディング。 - dstEncoding
返されたバイト配列に必要なエンコーディング。 - bytes
変換対象のバイト。
戻り値
変換の結果を格納している Byte 型の配列。
例外
例外の種類 | 条件 |
---|---|
ArgumentNullException | srcEncoding 、 dstEncoding 、または bytes が null 参照 (Visual Basic では Nothing) です。 |
解説
バイト配列内のバイトは、 srcEncoding から dstEncoding に変換されます。
使用例
Imports System
Imports System.Text
Imports Microsoft.VisualBasic
Namespace Convert_Example
Class MyConvertExampleClass
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[].
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[] into a char[] and then into a string.
' This is a slightly different approach to converting to illustrate
' the use of GetCharCount/GetChars.
Dim asciiChars(ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)) 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
End Namespace
[C#]
using System;
using System.Text;
namespace ConvertExample
{
class ConvertExampleClass
{
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[].
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.
// This is a slightly different approach to converting to illustrate
// the use of GetCharCount/GetChars.
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);
}
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Text;
int main()
{
String* unicodeString = S"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->Item[].
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.
// This is a slightly different approach to converting to illustrate
// the use of GetCharCount/GetChars.
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(S"Original String*: {0}", unicodeString);
Console::WriteLine(S"Ascii converted String*: {0}", asciiString);
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard
参照
Encoding クラス | Encoding メンバ | System.Text 名前空間 | Encoding.Convert オーバーロードの一覧