ASCIIEncoding クラスとは? わかりやすく解説

ASCIIEncoding クラス

Unicode 文字ASCII 文字エンコーディング表します

名前空間: System.Text
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class ASCIIEncoding
    Inherits Encoding
Dim instance As ASCIIEncoding
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class ASCIIEncoding : Encoding
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class ASCIIEncoding : public
 Encoding
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class ASCIIEncoding extends Encoding
SerializableAttribute 
ComVisibleAttribute(true) 
public class ASCIIEncoding extends
 Encoding
解説解説

GetByteCount メソッドは、Unicode 文字セットエンコードした結果得られるバイト数を確認します実際エンコードは、GetBytes メソッドによって実行されます。

同様に、GetCharCount メソッドは、バイト シーケンスデコードした結果得られる文字数確認します実際デコードは、GetChars メソッドと GetString メソッドによって実行されます。

ASCIIEncoding は、Windows コード ページ 20127 に対応してます。

使用例使用例

次のコード例は、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.Object
   System.Text.Encoding
    System.Text.ASCIIEncoding
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ASCIIEncoding クラス」の関連用語











ASCIIEncoding クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ASCIIEncoding クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS