Encoding 类
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示字符编码。
public ref class Encoding abstract
public ref class Encoding abstract : ICloneable
public abstract class Encoding
public abstract class Encoding : ICloneable
[System.Serializable]
public abstract class Encoding
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class Encoding : ICloneable
type Encoding = class
type Encoding = class
interface ICloneable
[<System.Serializable>]
type Encoding = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Encoding = class
interface ICloneable
Public MustInherit Class Encoding
Public MustInherit Class Encoding
Implements ICloneable
- 继承
-
Encoding
- 派生
- 属性
- 实现
下面的示例将字符串从一种编码转换为另一种编码。
备注
byte[]
在此示例中,数组是包含编码数据的唯一类型。 .NET Char
和 String
类型本身就是 unicode,因此调用会将 GetChars 数据解码回 unicode。
using namespace System;
using namespace System::Text;
int 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 array.
array<Byte>^unicodeBytes = unicode->GetBytes( unicodeString );
// Perform the conversion from one encoding to the other.
array<Byte>^asciiBytes = Encoding::Convert( unicode, ascii, unicodeBytes );
// Convert the new Byte into[] a char and[] then into a string.
array<Char>^asciiChars = gcnew array<Char>(ascii->GetCharCount( asciiBytes, 0, asciiBytes->Length ));
ascii->GetChars( asciiBytes, 0, asciiBytes->Length, asciiChars, 0 );
String^ asciiString = gcnew String( asciiChars );
// Display the strings created before and after the conversion.
Console::WriteLine( "Original String*: {0}", unicodeString );
Console::WriteLine( "Ascii converted String*: {0}", asciiString );
}
// The example displays the following output:
// Original string: This string contains the unicode character Pi (Π)
// Ascii converted string: This string contains the unicode character Pi (?)
using System;
using System.Text;
class Example
{
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 array.
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.
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);
}
}
// The example displays the following output:
// Original string: This string contains the unicode character Pi (Π)
// Ascii converted string: This string contains the unicode character Pi (?)
Imports System.Text
Class Example
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 array.
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 array into a char array and then into a string.
Dim asciiChars(ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)-1) 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
' The example displays the following output:
' Original string: This string contains the unicode character Pi (Π)
' Ascii converted string: This string contains the unicode character Pi (?)
有关此 API 的详细信息,请参阅 编码的补充 API 说明。
Encoding() |
初始化 Encoding 类的新实例。 |
Encoding(Int32) |
初始化对应于指定代码页的 Encoding 类的新实例。 |
Encoding(Int32, Encoder |
使用指定编码器和解码器回退策略初始化对应于指定代码页的 Encoding 类的新实例。 |
ASCII |
获取 ASCII(7 位)字符集的编码。 |
Big |
获取使用 Big Endian 字节顺序的 UTF-16 格式的编码。 |
Body |
在派生类中重写时,获取可与邮件代理正文标记一起使用的当前编码的名称。 |
Code |
在派生类中重写时,获取当前 Encoding 的代码页标识符。 |
Decoder |
获取或设置当前 DecoderFallback 对象的 Encoding 对象。 |
Default |
获取此 .NET 实现的默认编码。 |
Encoder |
获取或设置当前 EncoderFallback 对象的 Encoding 对象。 |
Encoding |
在派生类中重写时,获取当前编码的用户可读说明。 |
Header |
在派生类中重写时,获取可与邮件代理头标记一起使用的当前编码的名称。 |
Is |
在派生类中重写时,获取一个值,该值指示浏览器客户端是否可以使用当前的编码显示内容。 |
Is |
在派生类中重写时,获取一个值,该值指示浏览器客户端是否可以使用当前的编码保存内容。 |
Is |
在派生类中重写时,获取一个值,该值指示邮件和新闻客户端是否可以使用当前的编码显示内容。 |
Is |
在派生类中重写时,获取一个值,该值指示邮件和新闻客户端是否可以使用当前的编码保存内容。 |
Is |
在派生类中重写时,获取一个值,该值指示当前的编码是否为只读。 |
Is |
在派生类中重写时,获取一个值,该值指示当前的编码是否使用单字节码位。 |
Latin1 |
获取 Latin1 字符集 (ISO-8859-1) 的编码。 |
Preamble |
在派生类中重写时,返回包含指定所用编码的字节序列的范围。 |
Unicode |
获取使用 Little-Endian 字节顺序的 UTF-16 格式的编码。 |
UTF32 |
获取使用 Little-Endian 字节顺序的 UTF-32 格式的编码。 |
UTF7 |
已过时.
获取 UTF-7 格式的编码。 |
UTF8 |
获取 UTF-8 格式的编码。 |
Web |
在派生类中重写时,获取在 Internet 编号分配管理机构 (IANA) 注册的当前编码的名称。 |
Windows |
在派生类中重写时,获取与当前编码最紧密对应的 Windows 操作系统代码页。 |
Clone() |
当在派生类中重写时,创建当前 Encoding 对象的一个卷影副本。 |
Convert(Encoding, Encoding, Byte[]) |
将整个字节数组从一种编码转换为另一种编码。 |
Convert(Encoding, Encoding, Byte[], Int32, Int32) |
将字节数组内某个范围的字节从一种编码转换为另一种编码。 |
Create |
创建一个 Stream,用于在内部 Encoding 和外部 Encoding 之间进行数据转码,类似于 Convert(Encoding, Encoding, Byte[])。 |
Equals(Object) |
确定指定的 Object 是否等同于当前实例。 |
Get |
在派生类中重写时,计算对一组字符(从指定的字符指针处开始)进行编码所产生的字节数。 |
Get |
在派生类中重写时,计算对指定字符数组中的所有字符进行编码所产生的字节数。 |
Get |
在派生类中重写时,计算对指定字符数组中的一组字符进行编码所产生的字节数。 |
Get |
在派生类中重写时,计算对指定字符范围的字符进行编码所产生的字节数。 |
Get |
在派生类中重写时,计算对指定字符串中的字符进行编码所产生的字节数。 |
Get |
在派生类中重写时,计算对指定字符串中的一组字符进行编码所产生的字节数。 |
Get |
在派生类中重写时,将一组字符(从指定的字符指针开始)编码为一个字节序列,并从指定的字节指针开始存储该字节序列。 |
Get |
在派生类中重写时,将指定字符数组中的所有字符编码为一个字节序列。 |
Get |
在派生类中重写时,将指定字符数组中的一组字符编码为一个字节序列。 |
Get |
在派生类中重写时,将指定字符数组中的一组字符编码为指定的字节数组。 |
Get |
在派生类中重写时,将指定只读范围中的一组字符编码为字节范围。 |
Get |
在派生类中重写时,将指定字符串中的所有字符编码为一个字节序列。 |
Get |
在派生类中重写时,从指定的 |
Get |
在派生类中重写时,将指定字符串中的一组字符编码为指定的字节数组。 |
Get |
在派生类中重写时,计算对字节序列(从指定的字节指针开始)进行解码所产生的字符数。 |
Get |
在派生类中重写时,计算对指定字节数组中的所有字节进行解码所产生的字符数。 |
Get |
在派生类中重写时,计算对字节序列(从指定字节数组开始)进行解码所产生的字符数。 |
Get |
在派生类中重写时,计算对提供的只读字节范围进行解码所产生的字符数。 |
Get |
在派生类中重写时,将一个字节序列(从指定的字节指针开始)解码为一组字符,并从指定的字符指针开始存储该组字符。 |
Get |
在派生类中重写时,将指定字节数组中的所有字节解码为一组字符。 |
Get |
在派生类中重写时,将指定字节数组中的一个字节序列解码为一组字符。 |
Get |
在派生类中重写时,将指定字节数组中的字节序列解码为指定的字符数组。 |
Get |
在派生类中重写时,将指定只读字节范围中的所有字节解码为字符范围。 |
Get |
在派生类中重写时,获取一个解码器,该解码器将已编码的字节序列转换为字符序列。 |
Get |
在派生类中重写时,获取一个解码器,该解码器将 Unicode 字符序列转换为已编码的字节序列。 |
Get |
返回与指定代码页标识符关联的编码。 |
Get |
返回与指定代码页标识符关联的编码。 参数指定一个错误处理程序,用于处理无法编码的字符和无法解码的字节序列。 |
Get |
返回与指定代码页名称关联的编码。 |
Get |
返回与指定代码页名称关联的编码。 参数指定一个错误处理程序,用于处理无法编码的字符和无法解码的字节序列。 |
Get |
返回包含所有编码的数组。 |
Get |
返回当前实例的哈希代码。 |
Get |
在派生类中重写时,计算对指定数目的字符进行编码所产生的最大字节数。 |
Get |
在派生类中重写时,计算对指定数目的字节进行解码时所产生的最大字符数。 |
Get |
在派生类中重写时,返回指定所用编码的字节序列。 |
Get |
在派生类中重写时,将在指定地址开始的指定字节数解码为字符串。 |
Get |
在派生类中重写时,将指定字节数组中的所有字节解码为一个字符串。 |
Get |
在派生类中重写时,将指定字节数组中的一个字节序列解码为一个字符串。 |
Get |
在派生类中重写时,将指定字节范围中的所有字节解码为一个字符串。 |
Get |
获取当前实例的 Type。 (继承自 Object) |
Is |
使用默认范式获取一个值,该值指示当前编码是否始终被规范化。 |
Is |
在派生类中重写时,使用指定范式获取一个值,该值指示当前编码是否始终被规范化。 |
Memberwise |
创建当前 Object 的浅表副本。 (继承自 Object) |
Register |
注册编码提供程序。 |
To |
返回表示当前对象的字符串。 (继承自 Object) |
Try |
如果目标足够大,则从指定的只读范围将一组字符编码为字节范围。 |
Try |
如果目标足够大,则从指定的只读范围将一组字节解码为字符范围。 |
Get |
使用指定的 Encoding 将指定的 ReadOnlySequence<T> 编码到 Byte 数组中。 |
Get |
使用指定的 Encoding 将指定的 ReadOnlySequence<T> 解码为 |
Get |
使用指定的 Encoding 将指定的 ReadOnlySequence<T> 编码为 |
Get |
使用指定的 Encoding 将指定的 ReadOnlySpan<T> 编码为 |
Get |
使用指定的 Encoding 将指定的 ReadOnlySequence<T> 解码为 |
Get |
使用指定的 Encoding 将指定的 ReadOnlySequence<T> 解码为 |
Get |
使用指定的 Encoding 将指定的 ReadOnlySpan<T> 解码为 |
Get |
使用指定的 Encoding 将指定的 ReadOnlySequence<T> 解码到 String。 |
产品 | 版本 |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |