UnicodeEncoding 類別

定義

代表 Unicode 字元的 UTF-16 編碼方式。Represents a UTF-16 encoding of Unicode characters.

public ref class UnicodeEncoding : System::Text::Encoding
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class UnicodeEncoding : System.Text.Encoding
type UnicodeEncoding = class
    inherit Encoding
Public Class UnicodeEncoding
Inherits Encoding
繼承
UnicodeEncoding
屬性

範例

下列範例示範如何使用 UnicodeEncoding 物件,將 Unicode 字元字串編碼為位元組陣列。The following example demonstrates how to encode a string of Unicode characters into a byte array by using a UnicodeEncoding object. 位元組陣列會解碼為字串,以示範不會遺失資料。The byte array is decoded into a string to demonstrate that there is no loss of data.

using namespace System;
using namespace System::Text;
using namespace System::Collections;
int main()
{
   
   // The encoding.
   UnicodeEncoding^ unicode = gcnew UnicodeEncoding;
   
   // Create a String* that contains Unicode characters.
   String^ unicodeString = L"This Unicode string contains two characters with codes outside the traditional ASCII code range, Pi (\u03a0) and Sigma (\u03a3).";
   Console::WriteLine( "Original string:" );
   Console::WriteLine( unicodeString );
   
   // Encode the String*.
   array<Byte>^encodedBytes = unicode->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 = unicode->GetString( encodedBytes );
   Console::WriteLine();
   Console::WriteLine( "Decoded bytes:" );
   Console::WriteLine( decodedString );
}

using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main() {
        // The encoding.
        UnicodeEncoding unicode = new UnicodeEncoding();
        
        // Create a string that contains Unicode characters.
        String unicodeString =
            "This Unicode string contains two characters " +
            "with codes outside the traditional ASCII code range, " +
            "Pi (\u03a0) and Sigma (\u03a3).";
        Console.WriteLine("Original string:");
        Console.WriteLine(unicodeString);

        // Encode the string.
        Byte[] encodedBytes = unicode.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 = unicode.GetString(encodedBytes);
        Console.WriteLine();
        Console.WriteLine("Decoded bytes:");
        Console.WriteLine(decodedString);
    }
}
Imports System.Text
Imports Microsoft.VisualBasic.Strings

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        ' The encoding.
        Dim uni As New UnicodeEncoding()
        
        ' Create a string that contains Unicode characters.
        Dim unicodeString As String = _
            "This Unicode string contains two characters " & _
            "with codes outside the traditional ASCII code range, " & _
            "Pi (" & ChrW(928) & ") and Sigma (" & ChrW(931) & ")."
        Console.WriteLine("Original string:")
        Console.WriteLine(unicodeString)
        
        ' Encode the string.
        Dim encodedBytes As Byte() = uni.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 = uni.GetString(encodedBytes)
        Console.WriteLine()
        Console.WriteLine("Decoded bytes:")
        Console.WriteLine(decodedString)
    End Sub
End Class

下列範例會使用與上一個相同的字串,不同之處在于它會將編碼的位元組寫入檔案,並使用位元組順序標記(BOM)在位元組資料流程前面加上首碼。The following example uses the same string as the previous one, except that it writes the encoded bytes to a file and prefixes the byte stream with a byte order mark (BOM). 然後它會以兩種不同的方式讀取檔案:使用 StreamReader 物件做為文字檔;和做為二進位檔案。It then reads the file in two different ways: as a text file by using a StreamReader object; and as a binary file. 如您所預期,新讀取的字串都不包含 BOM。As you would expect, neither newly-read string includes the BOM.

using System;
using System.IO;
using System.Text;

public class Example
{
   public static void Main()
   {
        // Create a UTF-16 encoding that supports a BOM.
        Encoding unicode = new UnicodeEncoding();

        // A Unicode string with two characters outside an 8-bit code range.
        String unicodeString =
            "This Unicode string has 2 characters outside the " +
            "ASCII range: \n" +
            "Pi (\u03A0)), and Sigma (\u03A3).";
        Console.WriteLine("Original string:");
        Console.WriteLine(unicodeString);
        Console.WriteLine();

        // Encode the string.
        Byte[] encodedBytes = unicode.GetBytes(unicodeString);
        Console.WriteLine("The encoded string has {0} bytes.\n",
                          encodedBytes.Length);

        // Write the bytes to a file with a BOM.
        var fs = new FileStream(@".\UTF8Encoding.txt", FileMode.Create);
        Byte[] bom = unicode.GetPreamble();
        fs.Write(bom, 0, bom.Length);
        fs.Write(encodedBytes, 0, encodedBytes.Length);
        Console.WriteLine("Wrote {0} bytes to the file.\n", fs.Length);
        fs.Close();

        // Open the file using StreamReader.
        var sr = new StreamReader(@".\UTF8Encoding.txt");
        String newString = sr.ReadToEnd();
        sr.Close();
        Console.WriteLine("String read using StreamReader:");
        Console.WriteLine(newString);
        Console.WriteLine();

        // Open the file as a binary file and decode the bytes back to a string.
        fs = new FileStream(@".\UTF8Encoding.txt", FileMode.Open);
        Byte[] bytes = new Byte[fs.Length];
        fs.Read(bytes, 0, (int)fs.Length);
        fs.Close();

        String decodedString = unicode.GetString(bytes);
        Console.WriteLine("Decoded bytes:");
        Console.WriteLine(decodedString);
   }
}
// The example displays the following output:
//    Original string:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
//
//    The encoded string has 172 bytes.
//
//    Wrote 174 bytes to the file.
//
//    String read using StreamReader:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
//
//    Decoded bytes:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
Imports System.IO
Imports System.Text

Class Example
    Public Shared Sub Main()
        ' Create a UTF-16 encoding that supports a BOM.
        Dim unicode As New UnicodeEncoding()
        
        ' A Unicode string with two characters outside an 8-bit code range.
        Dim unicodeString As String = _
            "This Unicode string has 2 characters outside the " &
            "ASCII range: " & vbCrLf &
            "Pi (" & ChrW(&h03A0) & "), and Sigma (" & ChrW(&h03A3) & ")."
        Console.WriteLine("Original string:")
        Console.WriteLine(unicodeString)
        Console.WriteLine()
        
        ' Encode the string.
        Dim encodedBytes As Byte() = unicode.GetBytes(unicodeString)
        Console.WriteLine("The encoded string has {0} bytes.",
                          encodedBytes.Length)
        Console.WriteLine()
        
        ' Write the bytes to a file with a BOM.
        Dim fs As New FileStream(".\UnicodeEncoding.txt", FileMode.Create)
        Dim bom() As Byte = unicode.GetPreamble()
        fs.Write(bom, 0, bom.Length)
        fs.Write(encodedBytes, 0, encodedBytes.Length)
        Console.WriteLine("Wrote {0} bytes to the file.", fs.Length)
        fs.Close()
        Console.WriteLine()
        
        ' Open the file using StreamReader.
        Dim sr As New StreamReader(".\UnicodeEncoding.txt")
        Dim newString As String = sr.ReadToEnd()
        sr.Close()
        Console.WriteLine("String read using StreamReader:")
        Console.WriteLine(newString)
        Console.WriteLine()
        
        ' Open the file as a binary file and decode the bytes back to a string.
        fs = new FileStream(".\UnicodeEncoding.txt", FileMode.Open)
        Dim bytes(fs.Length - 1) As Byte
        fs.Read(bytes, 0, fs.Length)
        fs.Close()

        Dim decodedString As String = unicode.GetString(bytes)
        Console.WriteLine("Decoded bytes:")
        Console.WriteLine(decodedString)
    End Sub
End Class
' The example displays the following output:
'    Original string:
'    This Unicode string has 2 characters outside the ASCII range:
'    Pi (π), and Sigma (Σ).
'
'    The encoded string has 172 bytes.
'
'    Wrote 174 bytes to the file.
'
'    String read using StreamReader:
'    This Unicode string has 2 characters outside the ASCII range:
'    Pi (π), and Sigma (Σ).
'
'    Decoded bytes:
'    This Unicode string has 2 characters outside the ASCII range:
'    Pi (π), and Sigma (Σ).

備註

編碼是將一組 Unicode 字元轉換成位元組序列的處理程序。Encoding is the process of transforming a set of Unicode characters into a sequence of bytes. 解碼是將編碼的位元組序列轉換成一組 Unicode 字元的過程。Decoding is the process of transforming a sequence of encoded bytes into a set of Unicode characters.

Unicode 標準會將程式碼點(數位)指派給每個支援之腳本中的每個字元。The Unicode Standard assigns a code point (a number) to each character in every supported script. Unicode 轉換格式(UTF)是編碼該程式碼點的一種方式。A Unicode Transformation Format (UTF) is a way to encode that code point. Unicode 標準會使用下列 UTFs:The Unicode Standard uses the following UTFs:

  • UTF-8,以一到四個位元組的序列來表示每個程式碼點。UTF-8, which represents each code point as a sequence of one to four bytes.

  • UTF-16,以一到 2 16 位整數的序列來表示每個程式碼點。UTF-16, which represents each code point as a sequence of one to two 16-bit integers.

  • UTF-32,表示每個程式碼點為32位整數。UTF-32, which represents each code point as a 32-bit integer.

如需 System.Text所支援的 UTFs 和其他編碼的詳細資訊,請參閱.NET Framework 中的字元編碼For more information about the UTFs and other encodings supported by System.Text, see Character Encoding in the .NET Framework.

UnicodeEncoding 類別代表 UTF-16 編碼。The UnicodeEncoding class represents a UTF-16 encoding. 編碼器可以使用位元組由大到小的位元組順序(最重要的位元組優先)或位元組由小到大的位元組順序(第一次最不重要的位元組)。The encoder can use either big endian byte order (most significant byte first) or little endian byte order (least significant byte first). 例如,拉丁大寫字母 A (程式碼點 U + 0041)會序列化如下(十六進位):For example, the Latin Capital Letter A (code point U+0041) is serialized as follows (in hexadecimal):

  • 位元組由大到小的位元組順序: 00 00 00 41Big endian byte order: 00 00 00 41

  • 以位元組由小到大的位元組順序: 41 00 00 00Little endian byte order: 41 00 00 00

使用特定平臺的原生位元組順序來儲存 Unicode 字元,通常會更有效率。It is generally more efficient to store Unicode characters using the native byte order of a particular platform. 例如,最好是在極小 endian 的平臺(例如 Intel 電腦)上使用位元組由小到大的位元組順序。For example, it is better to use the little endian byte order on little endian platforms, such as Intel computers. UnicodeEncoding 類別會對應至 Windows 字碼頁1200(以位元組為單位)和1201(位元組由大到小)。The UnicodeEncoding class corresponds to the Windows code pages 1200 (little endian byte order) and 1201 (big endian byte order). 您可以藉由呼叫 BitConverter.IsLittleEndian 方法,判斷特定架構的 "endian"。You can determine the "endianness" of a particular architecture by calling the BitConverter.IsLittleEndian method.

UnicodeEncoding 物件可以選擇性地提供位順序標記(BOM),這是一種位元組陣列,可以在編碼程式所產生的位元組序列前面加上。Optionally, the UnicodeEncoding object provides a byte order mark (BOM), which is an array of bytes that can be prefixed to the sequence of bytes resulting from the encoding process. 如果前序包含位元組順序標記(BOM),它會協助解碼器判斷位元組順序和轉換格式或 UTF。If the preamble contains a byte order mark (BOM), it helps the decoder determine the byte order and the transformation format or UTF.

如果 UnicodeEncoding 實例設定為提供 BOM,您可以藉由呼叫 GetPreamble 方法來抓取它;否則,方法會傳回空陣列。If the UnicodeEncoding instance is configured to provide a BOM, you can retrieve it by calling the GetPreamble method; otherwise, the method returns an empty array. 請注意,即使已針對 BOM 支援設定 UnicodeEncoding 物件,您也必須適當地在編碼的位元組資料流程開頭包含 BOM。UnicodeEncoding 類別的編碼方法不會自動執行此動作。Note that, even if a UnicodeEncoding object is configured for BOM support, you must include the BOM at the beginning of the encoded byte stream as appropriate; the encoding methods of the UnicodeEncoding class do not do this automatically.

警告

若要啟用錯誤偵測並讓類別實例更安全,您應該呼叫 UnicodeEncoding(Boolean, Boolean, Boolean) 的偵測器並將其 throwOnInvalidBytes 引數設定為 true,以具現化 UnicodeEncoding 物件。To enable error detection and to make the class instance more secure, you should instantiate a UnicodeEncoding object by calling the UnicodeEncoding(Boolean, Boolean, Boolean) constructor and setting its throwOnInvalidBytes argument to true. 使用錯誤偵測時,偵測到無效字元或位元組序列的方法會擲回 ArgumentExceptionWith error detection, a method that detects an invalid sequence of characters or bytes throws a ArgumentException. 如果沒有錯誤偵測,則不會擲回例外狀況,而且通常會忽略不正確序列。Without error detection, no exception is thrown, and the invalid sequence is generally ignored.

您可以透過數種方式來具現化 UnicodeEncoding 物件,取決於您是否想要提供位元組順序標記(BOM)、是否想要以大到小或不是位元組的編碼,以及是否要啟用錯誤偵測。You can instantiate a UnicodeEncoding object in a number of ways, depending on whether you want to it to provide a byte order mark (BOM), whether you want big-endian or little-endian encoding, and whether you want to enable error detection. 下表列出 UnicodeEncoding 的函數,以及傳回 UnicodeEncoding 物件的 Encoding 屬性。The following table lists the UnicodeEncoding constructors and the Encoding properties that return a UnicodeEncoding object.

成員Member 位元組序Endianness BOMBOM 錯誤偵測Error detection
BigEndianUnicode 位元組由大到小Big-endian [是]Yes 否(取代回復)No (Replacement fallback)
Encoding.Unicode 位元組由大到小Little-endian [是]Yes 否(取代回復)No (Replacement fallback)
UnicodeEncoding.UnicodeEncoding() 位元組由大到小Little-endian [是]Yes 否(取代回復)No (Replacement fallback)
UnicodeEncoding(Boolean, Boolean) 可設定Configurable 可設定Configurable 否(取代回復)No (Replacement fallback)
UnicodeEncoding.UnicodeEncoding(Boolean, Boolean, Boolean) 可設定Configurable 可設定Configurable 可設定Configurable

GetByteCount 方法會決定編碼一組 Unicode 字元所產生的位元組數目,而 GetBytes 方法則會執行實際的編碼。The GetByteCount method determines how many bytes result in encoding a set of Unicode characters, and the GetBytes method performs the actual encoding.

同樣地,GetCharCount 方法會決定有多少字元會導致解碼位元組序列,而 GetCharsGetString 方法會執行實際的解碼。Likewise, the GetCharCount method determines how many characters result in decoding a sequence of bytes, and the GetChars and GetString methods perform the actual decoding.

針對能夠在編碼或解碼跨越多個區塊的資料時(例如,以100000個字元區段編碼之1000000字元的字串)來儲存狀態資訊的編碼器或解碼器,請分別使用 [GetEncoder] 和 [GetDecoder 屬性]。For an encoder or decoder that is able to save state information when encoding or decoding data that spans multiple blocks (such as string of 1 million characters that is encoded in 100,000-character segments), use the GetEncoder and GetDecoder properties, respectively.

建構函式

UnicodeEncoding()

初始化 UnicodeEncoding 類別的新執行個體。Initializes a new instance of the UnicodeEncoding class.

UnicodeEncoding(Boolean, Boolean)

初始化 UnicodeEncoding 類別的新執行個體。Initializes a new instance of the UnicodeEncoding class. 參數會指定是否使用位元組由大到小的位元組順序,以及 GetPreamble() 方法是否傳回 Unicode 位元組順序標記。Parameters specify whether to use the big endian byte order and whether the GetPreamble() method returns a Unicode byte order mark.

UnicodeEncoding(Boolean, Boolean, Boolean)

初始化 UnicodeEncoding 類別的新執行個體。Initializes a new instance of the UnicodeEncoding class. 參數會指定是否使用位元組由大到小的位元組順序、是否提供 Unicode 位元組順序標記,以及是否在偵測到無效的編碼方式時擲回例外狀況。Parameters specify whether to use the big endian byte order, whether to provide a Unicode byte order mark, and whether to throw an exception when an invalid encoding is detected.

欄位

CharSize

代表 Unicode 字元大小 (以位元組為單位)。Represents the Unicode character size in bytes. 這個欄位是常數。This field is a constant.

屬性

BodyName

在衍生類別中覆寫時,取得可以與郵件代理程式主體標籤一起使用的目前編碼方式名稱。When overridden in a derived class, gets a name for the current encoding that can be used with mail agent body tags.

(繼承來源 Encoding)
CodePage

在衍生類別中覆寫時,取得目前 Encoding 的字碼頁識別項。When overridden in a derived class, gets the code page identifier of the current Encoding.

(繼承來源 Encoding)
DecoderFallback

取得或設定目前 DecoderFallback 物件的 Encoding 物件。Gets or sets the DecoderFallback object for the current Encoding object.

(繼承來源 Encoding)
EncoderFallback

取得或設定目前 EncoderFallback 物件的 Encoding 物件。Gets or sets the EncoderFallback object for the current Encoding object.

(繼承來源 Encoding)
EncodingName

在衍生類別中覆寫時,取得目前編碼方式的人們可讀取 (Human-Readable) 的描述。When overridden in a derived class, gets the human-readable description of the current encoding.

(繼承來源 Encoding)
HeaderName

在衍生類別中覆寫時,取得可以與郵件代理程式標頭標籤一起使用的目前編碼方式名稱。When overridden in a derived class, gets a name for the current encoding that can be used with mail agent header tags.

(繼承來源 Encoding)
IsBrowserDisplay

在衍生類別中覆寫時,取得值,指出瀏覽器用戶端是否可以使用目前的編碼方式來顯示內容。When overridden in a derived class, gets a value indicating whether the current encoding can be used by browser clients for displaying content.

(繼承來源 Encoding)
IsBrowserSave

在衍生類別中覆寫時,取得值,指出瀏覽器用戶端是否可以使用目前的編碼方式來儲存內容。When overridden in a derived class, gets a value indicating whether the current encoding can be used by browser clients for saving content.

(繼承來源 Encoding)
IsMailNewsDisplay

在衍生類別中覆寫時,取得值,指出郵件和新聞用戶端是否可以使用目前的編碼方式來顯示內容。When overridden in a derived class, gets a value indicating whether the current encoding can be used by mail and news clients for displaying content.

(繼承來源 Encoding)
IsMailNewsSave

在衍生類別中覆寫時,取得值,指出郵件和新聞用戶端是否可以使用目前的編碼方式來儲存內容。When overridden in a derived class, gets a value indicating whether the current encoding can be used by mail and news clients for saving content.

(繼承來源 Encoding)
IsReadOnly

在衍生類別中覆寫時,取得值,指出目前的編碼方式是否為唯讀。When overridden in a derived class, gets a value indicating whether the current encoding is read-only.

(繼承來源 Encoding)
IsSingleByte

在衍生類別中覆寫時,取得值,指出目前的編碼方式是否使用單一位元組字碼指標。When overridden in a derived class, gets a value indicating whether the current encoding uses single-byte code points.

(繼承來源 Encoding)
Preamble

取得以 UTF-16 格式編碼的 Unicode 位元組順序標記 (若物件已設定為提供此項目)。Gets a Unicode byte order mark encoded in UTF-16 format, if this object is configured to supply one.

WebName

在衍生類別中覆寫時,若要取得目前的編碼方式,請取得向 Internet Assigned Numbers Authority (IANA) 註冊的名稱。When overridden in a derived class, gets the name registered with the Internet Assigned Numbers Authority (IANA) for the current encoding.

(繼承來源 Encoding)
WindowsCodePage

在衍生類別中覆寫時,請取得最能符合目前編碼方式的 Windows 作業系統字碼頁。When overridden in a derived class, gets the Windows operating system code page that most closely corresponds to the current encoding.

(繼承來源 Encoding)

方法

Clone()

在衍生類別中覆寫時,會建立目前 Encoding 物件的淺層複本。When overridden in a derived class, creates a shallow copy of the current Encoding object.

(繼承來源 Encoding)
Equals(Object)

判斷指定的 Object 是否等於目前的 UnicodeEncoding 物件。Determines whether the specified Object is equal to the current UnicodeEncoding object.

GetByteCount(Char*, Int32)

計算將起始於指定字元指標的一組字元編碼所產生的位元組數目。Calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer.

GetByteCount(Char[])

在衍生類別中覆寫時,計算編碼指定字元陣列中所有字元所產生的位元組數目。When overridden in a derived class, calculates the number of bytes produced by encoding all the characters in the specified character array.

(繼承來源 Encoding)
GetByteCount(Char[], Int32, Int32)

計算將指定字元陣列中的一組字元編碼所產生的位元組數目。Calculates the number of bytes produced by encoding a set of characters from the specified character array.

GetByteCount(ReadOnlySpan<Char>)

在衍生類別中覆寫時,計算藉由編碼指定字元範圍中字元所產生的位元組數。When overridden in a derived class, calculates the number of bytes produced by encoding the characters in the specified character span.

(繼承來源 Encoding)
GetByteCount(String)

計算將指定字串中的字元編碼所產生的位元組數目。Calculates the number of bytes produced by encoding the characters in the specified string.

GetByteCount(String, Int32, Int32)

在衍生類別中覆寫時,計算藉由從指定的字串編碼一組字元所產生的位元組數。When overridden in a derived class, calculates the number of bytes produced by encoding a set of characters from the specified string.

(繼承來源 Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

將起始於指定字元指標的一組字元編碼成位元組序列;儲存該位元組序列時,係以指定的位元組指標為起始點。Encodes a set of characters starting at the specified character pointer into a sequence of bytes that are stored starting at the specified byte pointer.

GetBytes(Char[])

在衍生類別中覆寫時,將指定字元陣列中的所有字元編碼成位元組序列。When overridden in a derived class, encodes all the characters in the specified character array into a sequence of bytes.

(繼承來源 Encoding)
GetBytes(Char[], Int32, Int32)

在衍生類別中覆寫時,將指定字元陣列中的一組字元編碼成位元組序列。When overridden in a derived class, encodes a set of characters from the specified character array into a sequence of bytes.

(繼承來源 Encoding)
GetBytes(Char[], Int32, Int32, Byte[], Int32)

將指定字元陣列中的一組字元編碼成指定的位元組陣列。Encodes a set of characters from the specified character array into the specified byte array.

GetBytes(ReadOnlySpan<Char>, Span<Byte>)

在衍生類別中覆寫時,從指定的唯讀範圍將一組字元編碼到位元組範圍。When overridden in a derived class, encodes into a span of bytes a set of characters from the specified read-only span.

(繼承來源 Encoding)
GetBytes(String)
GetBytes(String, Int32, Int32)

在衍生類別中覆寫時,從指定字串中指定的 count 開始,將 index 指定的字元數編碼到位元組陣列。When overridden in a derived class, encodes into an array of bytes the number of characters specified by count in the specified string, starting from the specified index.

(繼承來源 Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

將指定 String 中的一組字元編碼成指定的位元組陣列。Encodes a set of characters from the specified String into the specified byte array.

GetCharCount(Byte*, Int32)

計算將起始於指定位元組指標的位元組序列解碼所產生的字元數。Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer.

GetCharCount(Byte[])

在衍生類別中覆寫時,計算解碼指定位元組陣列中所有位元組所產生的字元數目。When overridden in a derived class, calculates the number of characters produced by decoding all the bytes in the specified byte array.

(繼承來源 Encoding)
GetCharCount(Byte[], Int32, Int32)

計算將指定位元組陣列中的位元組序列解碼所產生的字元數。Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.

GetCharCount(ReadOnlySpan<Byte>)

在衍生類別中覆寫時,計算藉由解碼所提供唯讀位元組範圍時產生的字元數。When overridden in a derived class, calculates the number of characters produced by decoding the provided read-only byte span.

(繼承來源 Encoding)
GetChars(Byte*, Int32, Char*, Int32)

將起始於指定位元組指標的位元組序列解碼成一組字元;儲存該組字元時,係以指定的字元指標為起始點。Decodes a sequence of bytes starting at the specified byte pointer into a set of characters that are stored starting at the specified character pointer.

GetChars(Byte[])

在衍生類別中覆寫時,將指定位元組陣列中的所有位元組解碼成一組字元。When overridden in a derived class, decodes all the bytes in the specified byte array into a set of characters.

(繼承來源 Encoding)
GetChars(Byte[], Int32, Int32)

在衍生類別中覆寫時,將指定位元組陣列中的位元組序列解碼成一組字元。When overridden in a derived class, decodes a sequence of bytes from the specified byte array into a set of characters.

(繼承來源 Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32)

將指定位元組陣列中的位元組序列解碼成指定的字元陣列。Decodes a sequence of bytes from the specified byte array into the specified character array.

GetChars(ReadOnlySpan<Byte>, Span<Char>)

在衍生類別中覆寫時,將指定唯讀位元組範圍中的所有位元組解碼成字元範圍。When overridden in a derived class, decodes all the bytes in the specified read-only byte span into a character span.

(繼承來源 Encoding)
GetDecoder()

取得可以將以 UTF-16 編碼的位元組序列轉換成 Unicode 字元序列的解碼器。Obtains a decoder that converts a UTF-16 encoded sequence of bytes into a sequence of Unicode characters.

GetEncoder()

取得可以將 Unicode 字元序列轉換成以 UTF-16 編碼的位元組序列的編碼器。Obtains an encoder that converts a sequence of Unicode characters into a UTF-16 encoded sequence of bytes.

GetHashCode()

傳回目前執行個體的雜湊碼。Returns the hash code for the current instance.

GetMaxByteCount(Int32)

計算將指定數目的字元編碼所產生的最大位元組數目。Calculates the maximum number of bytes produced by encoding the specified number of characters.

GetMaxCharCount(Int32)

計算將指定數目的位元組解碼所產生的最大字元數。Calculates the maximum number of characters produced by decoding the specified number of bytes.

GetPreamble()

如果這個執行個體的建構函式要求位元組順序標記,則會傳回以 UTF-16 格式編碼的 Unicode 位元組順序標記。Returns a Unicode byte order mark encoded in UTF-16 format, if the constructor for this instance requests a byte order mark.

GetString(Byte*, Int32)

在衍生類別中覆寫時,將指定位址開頭之指定數目的位元組解碼為字串。When overridden in a derived class, decodes a specified number of bytes starting at a specified address into a string.

(繼承來源 Encoding)
GetString(Byte[])

在衍生類別中覆寫時,將指定位元組陣列中的所有位元組解碼成字串。When overridden in a derived class, decodes all the bytes in the specified byte array into a string.

(繼承來源 Encoding)
GetString(Byte[], Int32, Int32)

將位元組陣列中的某一段位元組範圍解碼成字串。Decodes a range of bytes from a byte array into a string.

GetString(ReadOnlySpan<Byte>)

在衍生類別中覆寫時,將指定位元組範圍中的所有位元組解碼成字串。When overridden in a derived class, decodes all the bytes in the specified byte span into a string.

(繼承來源 Encoding)
GetType()

取得目前執行個體的 TypeGets the Type of the current instance.

(繼承來源 Object)
IsAlwaysNormalized()

取得值,指出目前的編碼方式是否永遠都是使用預設的正規化表單進行正規化。Gets a value indicating whether the current encoding is always normalized, using the default normalization form.

(繼承來源 Encoding)
IsAlwaysNormalized(NormalizationForm)

在衍生類別中覆寫時取得值,指出目前的編碼方式是否永遠都是使用指定的正規化表單進行正規化。When overridden in a derived class, gets a value indicating whether the current encoding is always normalized, using the specified normalization form.

(繼承來源 Encoding)
MemberwiseClone()

建立目前 Object 的淺層複製。Creates a shallow copy of the current Object.

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。Returns a string that represents the current object.

(繼承來源 Object)

適用於

另請參閱