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

UTF8Encoding クラス

Unicode 文字UTF-8 エンコーディング表します

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

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

エンコーディングは、Unicode 文字セットバイト シーケンス変換するプロセスです。デコードはその逆になりますエンコードされたバイト シーケンスUnicode 文字セット変換するプロセスです。

Unicode Standard では、サポートされすべてのスクリプトについて、各文字コード ポイント (数値) を割り当ててます。コード ポイントエンコードには UTF (Unicode Transformation Format) が使用されます。Unicode Standard バージョン 3.2 では、次の UTF使用されています。

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

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

UTF8Encoding は、オプションプリアンブル提供しますプリアンブルは、エンコーディング プロセス得られたバイト シーケンス先頭付加できるバイト配列です。プリアンブルバイト順マーク (コード ポイント U+FEFF) が含まれる場合デコーダバイト順および変換形式 (UTF) を判断できますUnicode バイト順マークは、EF BB BF (16 進数) としてシリアル化されます。GetPreamble メソッドは、バイト順マーク格納するバイト配列返します

Unicode エンコーディングバイト順、およびバイト順マーク詳細については、www.unicode.org の「Unicode Standard」を参照してください

メモメモ

エラー検出有効にしてクラス インスタンス安全性向上させるには、throwOnInvalidBytes パラメータ受け取る UTF8Encoding コンストラクタ使用し、このパラメータtrue設定しますエラー検出有効にすると、メソッドは、無効な文字シーケンスバイト シーケンス検出したときに、ArgumentException をスローます。エラー検出無効にすると、例外スローされず、無効なシーケンス全般に無視されます。

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

メモメモ

オブジェクトシリアル化と逆シリアル化を行う際に使用した .NET Frameworkバージョン異な場合UTF-8エンコードされたオブジェクトの状態は保持されません。

使用例使用例

次の例は、UTF8Encoding使用してUnicode 文字列エンコードし、その結果バイト配列格納する方法示してます。encodedBytes文字列デコードしても、データ損失発生しません。

Imports System
Imports System.Text
Imports Microsoft.VisualBasic.Strings

Class UTF8EncodingExample
    
    Public Shared Sub Main()
        ' Create a UTF-8 encoding.
        Dim utf8 As New
 UTF8Encoding()
        
        ' A Unicode string with two characters outside an 8-bit code
 range.
        Dim unicodeString As String
 = _
            "This unicode string contains two characters "
 & _
            "with codes outside an 8-bit code range, "
 & _
            "Pi (" & ChrW(928) & ")
 and Sigma (" & ChrW(931) & ")."
        Console.WriteLine("Original string:")
        Console.WriteLine(unicodeString)
        
        ' Encode the string.
        Dim encodedBytes As Byte()
 = utf8.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()
        
        ' Decode bytes back to string.
        ' Notice Pi and Sigma characters are still present.
        Dim decodedString As String
 = utf8.GetString(encodedBytes)
        Console.WriteLine()
        Console.WriteLine("Decoded bytes:")
        Console.WriteLine(decodedString)
    End Sub
End Class
using System;
using System.Text;

class UTF8EncodingExample {
    public static void Main()
 {
        // Create a UTF-8 encoding.
        UTF8Encoding utf8 = new UTF8Encoding();
        
        // A Unicode string with two characters outside an 8-bit code
 range.
        String unicodeString =
            "This unicode string contains two characters
 " +
            "with codes outside an 8-bit code range, " +
            "Pi (\u03a0) and Sigma (\u03a3).";
        Console.WriteLine("Original string:");
        Console.WriteLine(unicodeString);

        // Encode the string.
        Byte[] encodedBytes = utf8.GetBytes(unicodeString);
        Console.WriteLine();
        Console.WriteLine("Encoded bytes:");
        foreach (Byte b in encodedBytes) {
            Console.Write("[{0}]", b);
        }
        Console.WriteLine();
        
        // Decode bytes back to string.
        // Notice Pi and Sigma characters are still present.
        String decodedString = utf8.GetString(encodedBytes);
        Console.WriteLine();
        Console.WriteLine("Decoded bytes:");
        Console.WriteLine(decodedString);
    }
}
using namespace System;
using namespace System::Text;
using namespace System::Collections;
int main()
{
   
   // Create a UTF-8 encoding.
   UTF8Encoding^ utf8 = gcnew UTF8Encoding;
   
   // A Unicode string with two characters outside an 8-bit code range.
   String^ unicodeString = L"This unicode string contains
 two characters with codes outside an 8-bit code range, Pi (\u03a0) and Sigma (\u03a3).";
   Console::WriteLine( "Original string:" );
   Console::WriteLine( unicodeString );
   
   // Encode the string.
   array<Byte>^encodedBytes = utf8->GetBytes( unicodeString );
   Console::WriteLine();
   Console::WriteLine( "Encoded bytes:" );
   IEnumerator^ myEnum = encodedBytes->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Byte b = safe_cast<Byte>(myEnum->Current);
      Console::Write( "[{0}]", b );
   }

   Console::WriteLine();
   
   // Decode bytes back to string.
   // Notice Pi and Sigma characters are still present.
   String^ decodedString = utf8->GetString( encodedBytes );
   Console::WriteLine();
   Console::WriteLine( "Decoded bytes:" );
   Console::WriteLine( decodedString );
}

import System.*;
import System.Text.*;

class UTF8EncodingExample
{
    public static void main(String[]
 args)
    {
        // Create a UTF-8 encoding.
        UTF8Encoding utf8 = new UTF8Encoding();

        // A Unicode string with two characters outside an 8-bit code
 range.
        String unicodeString = "This unicode string contains
 two characters "
            + "with codes outside an 8-bit code range, " 
            + "Pi (\u03a0) and Sigma (\u03a3).";
        Console.WriteLine("Original string:");
        Console.WriteLine(unicodeString);

        // Encode the string.
        ubyte encodedBytes[] = utf8.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(b));
        }
        Console.WriteLine();

        // Decode bytes back to string.
        // Notice Pi and Sigma characters are still present.
        String decodedString = utf8.GetString(encodedBytes);
        Console.WriteLine();
        Console.WriteLine("Decoded bytes:");
        Console.WriteLine(decodedString);
    } //main
} //UTF8EncodingExample
継承階層継承階層
System.Object
   System.Text.Encoding
    System.Text.UTF8Encoding
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



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

辞書ショートカット

すべての辞書の索引

「UTF8Encoding クラス」の関連用語

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

   

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



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

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

©2024 GRAS Group, Inc.RSS