ASCIIEncoding クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public Class ASCIIEncoding Inherits Encoding
[SerializableAttribute] [ComVisibleAttribute(true)] public ref class ASCIIEncoding : public Encoding

エンコーディングは、Unicode 文字のセットをバイト シーケンスに変換するプロセスです。デコードはその逆になります。エンコードされたバイト シーケンスを Unicode 文字のセットに変換するプロセスです。
Unicode Standard では、サポートされるすべてのスクリプトについて、各文字にコード ポイント (数値) を割り当てています。コード ポイントのエンコードには UTF (Unicode Transformation Format) が使用されます。Unicode Standard バージョン 3.2 では、次の UTF が使用されています。
![]() |
---|
ASCIIEncoding は、U+0000 から U+007F までの Unicode 文字値だけをサポートします。このため、グローバルなアプリケーションには、UTF8Encoding、UnicodeEncoding、および UTF32Encoding の方が適しています。 |
GetByteCount メソッドは、Unicode 文字のセットをエンコードした結果得られるバイト数を確認します。実際のエンコードは、GetBytes メソッドによって実行されます。
同様に、GetCharCount メソッドは、バイト シーケンスをデコードした結果得られる文字数を確認します。実際のデコードは、GetChars メソッドと GetString メソッドによって実行されます。

次のコード例は、Unicode 文字を ASCII にエンコードする方法を示しています。ASCIIEncoding を使用して Unicode 文字を ASCII 範囲外にエンコードすると、データが損失します。
Imports System Imports System.Text Imports Microsoft.VisualBasic.Strings Class ASCIIEncodingExample Public Shared Sub Main() ' The encoding. Dim ascii As New ASCIIEncoding() ' A Unicode string with two characters outside the ASCII code range. Dim unicodeString As String = _ "This Unicode string contains two characters " & _ "with codes outside the ASCII code range, " & _ "Pi (" & ChrW(928) & ") and Sigma (" & ChrW(931) & ")." Console.WriteLine("Original string:") Console.WriteLine(unicodeString) ' Save positions of the special characters for later reference. Dim indexOfPi As Integer = unicodeString.IndexOf(ChrW(928)) Dim indexOfSigma As Integer = unicodeString.IndexOf(ChrW(931)) ' Encode string. Dim encodedBytes As Byte() = ascii.GetBytes(unicodeString) Console.WriteLine() Console.WriteLine("Encoded bytes:") Dim b As Byte For Each b In encodedBytes Console.Write("[{0}]", b) Next b Console.WriteLine() ' Notice that the special characters have been replaced with ' the value 63, which is the ASCII character code for '?'. Console.WriteLine() Console.WriteLine( _ "Value at position of Pi character: {0}", _ encodedBytes(indexOfPi) _ ) Console.WriteLine( _ "Value at position of Sigma character: {0}", _ encodedBytes(indexOfSigma) _ ) ' Decode bytes back to string. ' Notice missing Pi and Sigma characters. Dim decodedString As String = ascii.GetString(encodedBytes) Console.WriteLine() Console.WriteLine("Decoded bytes:") Console.WriteLine(decodedString) End Sub 'Main End Class 'ASCIIEncodingExample
using System; using System.Text; class ASCIIEncodingExample { public static void Main() { // The encoding. ASCIIEncoding ascii = new ASCIIEncoding(); // A Unicode string with two characters outside the ASCII code range. String unicodeString = "This Unicode string contains two characters " + "with codes outside the ASCII code range, " + "Pi (\u03a0) and Sigma (\u03a3)."; Console.WriteLine("Original string:"); Console.WriteLine(unicodeString); // Save positions of the special characters for later reference. int indexOfPi = unicodeString.IndexOf('\u03a0'); int indexOfSigma = unicodeString.IndexOf('\u03a3'); // Encode string. Byte[] encodedBytes = ascii.GetBytes(unicodeString); Console.WriteLine(); Console.WriteLine("Encoded bytes:"); foreach (Byte b in encodedBytes) { Console.Write("[{0}]", b); } Console.WriteLine(); // Notice that the special characters have been replaced with // the value 63, which is the ASCII character code for '?'. Console.WriteLine(); Console.WriteLine( "Value at position of Pi character: {0}", encodedBytes[indexOfPi] ); Console.WriteLine( "Value at position of Sigma character: {0}", encodedBytes[indexOfSigma] ); // Decode bytes back to string. // Notice missing Pi and Sigma characters. String decodedString = ascii.GetString(encodedBytes); Console.WriteLine(); Console.WriteLine("Decoded bytes:"); Console.WriteLine(decodedString); } }
using namespace System; using namespace System::Collections; using namespace System::Text; int main() { // The encoding. ASCIIEncoding^ ascii = gcnew ASCIIEncoding; // A Unicode string with two characters outside the ASCII code range. String^ unicodeString = "This Unicode String* contains two characters with codes outside the ASCII code range, Pi (\u03a0) and Sigma (\u03a3)."; Console::WriteLine( "Original String*:" ); Console::WriteLine( unicodeString ); // Save positions of the special characters for later reference. int indexOfPi = unicodeString->IndexOf( L'\u03a0' ); int indexOfSigma = unicodeString->IndexOf( L'\u03a3' ); // Encode string. array<Byte>^encodedBytes = ascii->GetBytes( unicodeString ); Console::WriteLine(); Console::WriteLine( "Encoded bytes:" ); IEnumerator^ myEnum = encodedBytes->GetEnumerator(); while ( myEnum->MoveNext() ) { Byte b = safe_cast<Byte>(myEnum->Current); Console::Write( "->Item[ {0}]", b ); } Console::WriteLine(); // Notice that the special characters have been replaced with // the value 63, which is the ASCII character code for '?'. Console::WriteLine(); Console::WriteLine( "Value at position of Pi character: {0}", encodedBytes[ indexOfPi ] ); Console::WriteLine( "Value at position of Sigma character: {0}", encodedBytes[ indexOfSigma ] ); // Decode bytes back to string. // Notice missing Pi and Sigma characters. String^ decodedString = ascii->GetString( encodedBytes ); Console::WriteLine(); Console::WriteLine( "Decoded bytes:" ); Console::WriteLine( decodedString ); }
import System.*; import System.Text.*; import System.Byte; class ASCIIEncodingExample { public static void main(String[] args) { // The encoding. ASCIIEncoding ascii = new ASCIIEncoding(); // A Unicode string with two characters outside the ASCII code range. String unicodeString = "This Unicode string contains two characters " + "with codes outside the ASCII code range, " + "Pi (\u03a0) and Sigma (\u03a3)."; Console.WriteLine("Original string:"); Console.WriteLine(unicodeString); // Save positions of the special characters for later reference. int indexOfPi = unicodeString.IndexOf('\u03a0'); int indexOfSigma = unicodeString.IndexOf('\u03a3'); // Encode string. ubyte encodedBytes[] = ascii.GetBytes(unicodeString); Console.WriteLine(); Console.WriteLine("Encoded bytes:"); for(int iCtr = 0; iCtr < encodedBytes.length; iCtr++) { ubyte b = encodedBytes[iCtr]; Console.Write("[{0}]", String.valueOf((Byte)b)); } Console.WriteLine(); // Notice that the special characters have been replaced with // the value 63, which is the ASCII character code for '?'. Console.WriteLine(); Console.WriteLine("Value at position of Pi character: {0}", encodedBytes.get_Item(indexOfPi)); Console.WriteLine("Value at position of Sigma character: {0}", encodedBytes.get_Item(indexOfSigma)); // Decode bytes back to string. // Notice missing Pi and Sigma characters. String decodedString = ascii.GetString((ubyte[])encodedBytes); Console.WriteLine(); Console.WriteLine("Decoded bytes:"); Console.WriteLine(decodedString); } //main } //ASCIIEncodingExample

System.Text.Encoding
System.Text.ASCIIEncoding


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ASCIIEncoding コンストラクタ
アセンブリ: mscorlib (mscorlib.dll 内)



次のコード例は、新しい ASCIIEncoding インスタンスを作成してエンコード名を表示する方法を示しています。
Imports System Imports System.Text Class ASCIIEncodingExample Public Shared Sub Main() Dim ascii As New ASCIIEncoding() Dim encodingName As String = ascii.EncodingName Console.WriteLine("Encoding name: " & encodingName) End Sub End Class
using System; using System.Text; class ASCIIEncodingExample { public static void Main() { ASCIIEncoding ascii = new ASCIIEncoding(); String encodingName = ascii.EncodingName; Console.WriteLine("Encoding name: " + encodingName); } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ASCIIEncoding プロパティ


ASCIIEncoding メソッド


名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

ASCIIEncoding メンバ
Unicode 文字の ASCII 文字エンコーディングを表します。
ASCIIEncoding データ型で公開されるメンバを以下の表に示します。




名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
