Encoding Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar en teckenkodning.
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
- Arv
-
Encoding
- Härledda
- Attribut
- Implementeringar
Exempel
I följande exempel konverteras en sträng från en kodning till en annan.
Note
Matrisen byte[] är den enda typen i det här exemplet som innehåller kodade data. Typerna .NET Char och String är själva Unicode, så GetChars-anropet avkodar data tillbaka till Unicode.
using System;
using System.Text;
class ConvertExample
{
static void Run()
{
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 Example1
Shared Sub Run()
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 (?)
Kommentarer
Klassen Encoding representerar en teckenkodning.
Kodning är processen att omvandla en uppsättning Unicode-tecken till en sekvens med byte. Avkodning är däremot processen att omvandla en sekvens med kodade byte till en uppsättning Unicode-tecken. Information om Unicode Transformation Format (UTFs) och andra kodningar som stöds av Encodingfinns i Teckenkodning i .NET.
Encoding är avsedd att användas på Unicode-tecken i stället för godtyckliga binära data, till exempel bytematriser. Om du måste koda godtyckliga binära data i text bör du använda ett protokoll som uuencode, som implementeras med metoder som Convert.ToBase64CharArray.
.NET tillhandahåller följande implementeringar av klassen Encoding för att stödja aktuella Unicode-kodningar och andra kodningar:
ASCIIEncoding kodar Unicode-tecken som enkla 7-bitars ASCII-tecken. Den här kodningen stöder endast teckenvärden mellan U+0000 och U+007F. Kodsida 20127. Finns även tillgänglig via egenskapen ASCII.
UTF7Encoding kodar Unicode-tecken med UTF-7-kodningen. Den här kodningen stöder alla Unicode-teckenvärden. Kodsida 65000. Finns även tillgänglig via egenskapen UTF7.
UTF8Encoding kodar Unicode-tecken med UTF-8-kodningen. Den här kodningen stöder alla Unicode-teckenvärden. Kodsida 65001. Finns även tillgänglig via egenskapen UTF8.
UnicodeEncoding kodar Unicode-tecken med hjälp av UTF-16-kodningen. Både små endianska och stora endianska byterekvenser stöds. Finns även tillgänglig via egenskapen Unicode och egenskapen BigEndianUnicode.
UTF32Encoding kodar Unicode-tecken med UTF-32-kodningen. Både little endian (kodsida 12000) och big endian (kodsida 12001) byteordningar stöds. Finns även tillgänglig via egenskapen UTF32.
Klassen Encoding är främst avsedd att konvertera mellan olika kodningar och Unicode. Ofta är en av de härledda Unicode-klasserna rätt val för din app.
Använd metoden GetEncoding för att hämta andra kodningar och anropa metoden GetEncodings för att hämta en lista över alla kodningar.
Lista över kodningar
I följande tabell visas de kodningar som stöds av .NET. Den visar varje kodnings kodnings sidnummer och värdena för kodningens EncodingInfo.Name- och EncodingInfo.DisplayName egenskaper. En bockmarkering i .NET Framework-stöd, .NET Core-stödeller .NET 5 och senare stöd kolumn anger att kodsidan stöds internt av .NET-implementeringen, oavsett den underliggande plattformen. För .NET Framework beror tillgängligheten för andra kodningar som anges i tabellen på operativsystemet. För .NET Core- och .NET 5- och senare versioner är andra kodningar tillgängliga med hjälp av klassen System.Text.CodePagesEncodingProvider eller genom att härleda från klassen System.Text.EncodingProvider.
Note
Kodsidor vars EncodingInfo.Name egenskap motsvarar en internationell standard uppfyller inte nödvändigtvis den standarden fullt ut.
| Kodsida | Name | Visningsnamn | .NET Framework-stöd | .NET Core-stöd | Stöd för .NET 5 och senare |
|---|---|---|---|---|---|
| 37 | IBM037 | IBM EBCDIC (US-Canada) | |||
| 437 | IBM437 | OEM Usa | |||
| 500 | IBM500 | IBM EBCDIC (Internationell) | |||
| 708 | ASMO-708 | Arabiska (ASMO 708) | |||
| 720 | DOS-720 | Arabiska (DOS) | |||
| 737 | ibm737 | Grekiska (DOS) | |||
| 775 | ibm775 | Baltic (DOS) | |||
| 850 | ibm850 | Västeuropeiska (DOS) | |||
| 852 | ibm852 | Central Europe (DOS) | |||
| 855 | IBM855 | OEM Cyrillic | |||
| 857 | ibm857 | Turkiska (DOS) | |||
| 858 | IBM00858 | OEM Multilingual Latin I | |||
| 860 | IBM860 | Portugisiska (DOS) | |||
| 861 | ibm861 | Isländska (DOS) | |||
| 862 | DOS-862 | Hebreiska (DOS) | |||
| 863 | IBM863 | Franska kanadensiska (DOS) | |||
| 864 | IBM864 | Arabiska (864) | |||
| 865 | IBM865 | Nordic (DOS) | |||
| 866 | cp866 | Kyrillisk (DOS) | |||
| 869 | ibm869 | Grekiska, moderna (DOS) | |||
| 870 | IBM870 | IBM EBCDIC (Flerspråkig latinsk-2) | |||
| 874 | windows-874 | Thai (Windows) | |||
| 875 | cp875 | IBM EBCDIC (Grekisk Modern) | |||
| 932 | shift_jis | Japanska (Shift-JIS) | |||
| 936 | gb2312 | Förenklad kinesiska (GB2312) | ✓ | ||
| 949 | ks_c_5601-1987 | Koreanska | |||
| 950 | big5 | Traditionell kinesisk (Big5) | |||
| 1026 | IBM1026 | IBM EBCDIC (turkisk latin-5) | |||
| 1047 | IBM01047 | IBM Latin-1 | |||
| 1140 | IBM01140 | IBM EBCDIC (USA-Canada-Euro) | |||
| 1141 | IBM01141 | IBM EBCDIC (Germany-Euro) | |||
| 1142 | IBM01142 | IBM EBCDIC (Danmark-Norway-Euro) | |||
| 1143 | IBM01143 | IBM EBCDIC (Finland-Sweden-Euro) | |||
| 1144 | IBM01144 | IBM EBCDIC (Italy-Euro) | |||
| 1145 | IBM01145 | IBM EBCDIC (Spain-Euro) | |||
| 1146 | IBM01146 | IBM EBCDIC (UK-Euro) | |||
| 1147 | IBM01147 | IBM EBCDIC (France-Euro) | |||
| 1148 | IBM01148 | IBM EBCDIC (International-Euro) | |||
| 1149 | IBM01149 | IBM EBCDIC (Icelandic-Euro) | |||
| 1200 | utf-16 | Unicode | ✓ | ✓ | ✓ |
| 1 201 | unicodeFFFE | Unicode (stor endian) | ✓ | ✓ | ✓ |
| 1250 | windows-1250 | Centraleuropeisk (Windows) | |||
| 1251 | windows-1251 | Kyrillisk (Windows) | |||
| 1252 | Windows-1252 | Västeuropeiska (Windows) | ✓ | ||
| 1253 | windows-1253 | Grekiska (Windows) | |||
| 1254 | windows-1254 | Turkiska (Windows) | |||
| 1255 | windows-1255 | Hebreiska (Windows) | |||
| 1256 | windows-1256 | Arabiska (Windows) | |||
| 1257 | windows-1257 | Baltic (Windows) | |||
| 1258 | windows-1258 | Vietnamesiska (Windows) | |||
| 1361 | Johab | Koreanska (Johab) | |||
| 10000 | Macintosh | Västeuropeiskt (Mac) | |||
| 10001 | x-mac-japanese | Japanska (Mac) | |||
| 10002 | x-mac-chinesetrad | Traditionell kinesiska för Mac | |||
| 10003 | x-mac-korean | Koreanska (Mac) | ✓ | ||
| 10004 | x-mac-arabic | Arabiska (Mac) | |||
| 10005 | x-mac-hebrew | Hebreiska (Mac) | |||
| 10006 | x-mac-greek | Grekiska (Mac) | |||
| 10007 | x-mac-cyrillic | Kyrillisk (Mac) | |||
| 10008 | x-mac-chinesesimp | Förenklad kinesiska (Mac) | ✓ | ||
| 10010 | x-mac-rumänska | Rumänska (Mac) | |||
| 10017 | x-mac-ukrainska | Ukrainska (Mac) | |||
| 10021 | x-mac-thai | Thai (Mac) | |||
| 10029 | x-mac-ce | Centraleuropeiska (Mac) | |||
| 10079 | x-mac-icelandic | Isländska (Mac) | |||
| 10081 | x-mac-turkish | Turkiska (Mac) | |||
| 10082 | x-mac-croatian | Kroatiska (Mac) | |||
| 12000 | utf-32 | Unicode (UTF-32) | ✓ | ✓ | ✓ |
| 12001 | utf-32BE | Unicode (UTF-32 Big Endian) | ✓ | ✓ | ✓ |
| 20000 | x-Chinese-CNS | Traditionell kinesisk skrift (CNS) | |||
| 20001 | x-cp20001 | TCA Taiwan | |||
| 20002 | x-Chinese-Eten | Traditionell kinesiska (Eten) | |||
| 20003 | x-cp20003 | IBM5550 Taiwan | |||
| 20004 | x-cp20004 | TeleText Taiwan | |||
| 20005 | x-cp20005 | Wang Taiwan | |||
| 20105 | x-IA5 | Västeuropeiska (IA5) | |||
| 20106 | x-IA5-German | Tyska (IA5) | |||
| 20107 | x-IA5-Swedish | Svenska (IA5) | |||
| 20108 | x-IA5-Norwegian | Norska (IA5) | |||
| 20127 | us-ascii | US-ASCII | ✓ | ✓ | ✓ |
| 20261 | x-cp20261 | T.61 | |||
| 20269 | x-cp20269 | ISO-6937 | |||
| 20273 | IBM273 | IBM EBCDIC (Tyskland) | |||
| 20277 | IBM277 | IBM EBCDIC (Denmark-Norway) | |||
| 20278 | IBM278 | IBM EBCDIC (Finland-Sweden) | |||
| 20280 | IBM280 | IBM EBCDIC (Italien) | |||
| 20284 | IBM284 | IBM EBCDIC (Spanien) | |||
| 20285 | IBM285 | IBM EBCDIC (Storbritannien) | |||
| 20290 | IBM290 | IBM EBCDIC (japansk katakana) | |||
| 20297 | IBM297 | IBM EBCDIC (Frankrike) | |||
| 20420 | IBM420 | IBM EBCDIC (arabiska) | |||
| 20423 | IBM423 | IBM EBCDIC (grekiska) | |||
| 20424 | IBM424 | IBM EBCDIC (hebreiska) | |||
| 20833 | x-EBCDIC-KoreanExtended | IBM EBCDIC (koreansk utökad) | |||
| 20838 | IBM-Thai | IBM EBCDIC (thailändska) | |||
| 20866 | koi8-r | Kyrillisk (KOI8-R) | |||
| 20871 | IBM871 | IBM EBCDIC (isländska) | |||
| 20880 | IBM880 | IBM EBCDIC (kyrilliska ryska) | |||
| 20905 | IBM905 | IBM EBCDIC (turkisk) | |||
| 20924 | IBM00924 | IBM Latin-1 | |||
| 20932 | EUC-JP | Japanska (JIS 0208-1990 och 0212-1990) | |||
| 20936 | x-cp20936 | Förenklad kinesiska (GB2312-80) | ✓ | ||
| 20949 | x-cp20949 | Koreanska Wansung | ✓ | ||
| 21025 | cp1025 | IBM EBCDIC (Kyrillisk Serbian-Bulgarian) | |||
| 21866 | koi8-u | Kyrillisk (KOI8-U) | |||
| 28591 | iso-8859-1 | Västeuropeiska (ISO) | ✓ | ✓ | ✓ |
| 28592 | iso-8859-2 | Centraleuropeiska (ISO) | |||
| 28593 | iso-8859-3 | Latinsk 3 (ISO) | |||
| 28594 | iso-8859-4 | Baltic (ISO) | |||
| 28595 | iso-8859-5 | Kyrillisk (ISO) | |||
| 28596 | iso-8859-6 | Arabiska (ISO) | |||
| 28597 | iso-8859-7 | Grekiska (ISO) | |||
| 28598 | iso-8859-8 | Hebreiska (ISO-Visual) | ✓ | ||
| 28599 | iso-8859-9 | Turkiska (ISO) | |||
| 28603 | iso-8859-13 | Estniska (ISO) | |||
| 28605 | iso-8859-15 | Latin 9 (ISO) | |||
| 29001 | x-Europa | Europa | |||
| 38598 | iso-8859-8-i | Hebreiska (ISO-Logical) | ✓ | ||
| 50220 | iso-2022-jp | Japanska (JIS) | ✓ | ||
| 50221 | csISO2022JP | Japanska (JIS-Allow 1 byte Kana) | ✓ | ||
| 50222 | iso-2022-jp | Japanska (JIS-Allow 1 byte Kana – SO/SI) | ✓ | ||
| 50225 | iso-2022-kr | Koreanska (ISO) | ✓ | ||
| 50227 | x-cp50227 | Förenklad kinesiska (ISO-2022) | ✓ | ||
| 51932 | euc-jp | Japanska (EUC) | ✓ | ||
| 51936 | EUC-CN | Förenklad kinesiska (EUC) | ✓ | ||
| 51949 | euc-kr | Koreanska (EUC) | ✓ | ||
| 52936 | hz-gb-2312 | Förenklad kinesiska (HZ) | ✓ | ||
| 54936 | GB18030 | Förenklad kinesiska (GB18030) | ✓ | ||
| 57002 | x-iscii-de | ISCII Devanagari-skrift | ✓ | ||
| 57003 | x-iscii-be | ISCII bengali | ✓ | ||
| 57004 | x-iscii-ta | ISCII Tamil | ✓ | ||
| 57005 | x-iscii-te | ISCII Telugu | ✓ | ||
| 57006 | x-iscii-as | ISCII assamesiska | ✓ | ||
| 57007 | x-iscii-or | ISCII Oriya | ✓ | ||
| 57008 | x-iscii-ka | ISCII Kannada | ✓ | ||
| 57009 | x-iscii-ma | ISCII Malayalam | ✓ | ||
| 57010 | x-iscii-gu | ISCII Gujarati | ✓ | ||
| 57011 | x-iscii-pa | ISCII Punjabi | ✓ | ||
| 65000 | utf-7 | Unicode (UTF-7) | ✓ | ✓ | |
| 65001 | utf-8 | Unicode (UTF-8) | ✓ | ✓ | ✓ |
I följande exempel anropas metoderna GetEncoding(Int32) och GetEncoding(String) för att hämta kodningen för den grekiska kodsidan (Windows). Den jämför de Encoding objekt som returneras av metodanropen för att visa att de är lika och mappar visar sedan Unicode-kodpunkten och motsvarande kodsidasvärde för varje tecken i det grekiska alfabetet.
using System;
using System.Text;
public class GetEncodingExample
{
public static void Run()
{
Encoding enc = Encoding.GetEncoding(1253);
Encoding altEnc = Encoding.GetEncoding("windows-1253");
Console.WriteLine($"{enc.EncodingName} = Code Page {altEnc.CodePage}: {enc.Equals(altEnc)}");
string greekAlphabet = "Α α Β β Γ γ Δ δ Ε ε Ζ ζ Η η " +
"Θ θ Ι ι Κ κ Λ λ Μ μ Ν ν Ξ ξ " +
"Ο ο Π π Ρ ρ Σ σ ς Τ τ Υ υ " +
"Φ φ Χ χ Ψ ψ Ω ω";
Console.OutputEncoding = Encoding.UTF8;
byte[] bytes = enc.GetBytes(greekAlphabet);
Console.WriteLine("{0,-12} {1,20} {2,20:X2}", "Character",
"Unicode Code Point", "Code Page 1253");
for (int ctr = 0; ctr < bytes.Length; ctr++) {
if (greekAlphabet[ctr].Equals(' '))
continue;
Console.WriteLine("{0,-12} {1,20} {2,20:X2}", greekAlphabet[ctr],
GetCodePoint(greekAlphabet[ctr]), bytes[ctr]);
}
}
private static string GetCodePoint(char ch)
{
string retVal = "u+";
byte[] bytes = Encoding.Unicode.GetBytes(ch.ToString());
for (int ctr = bytes.Length - 1; ctr >= 0; ctr--)
retVal += bytes[ctr].ToString("X2");
return retVal;
}
}
// The example displays the following output:
// Character Unicode Code Point Code Page 1253
// Α u+0391 C1
// α u+03B1 E1
// Β u+0392 C2
// β u+03B2 E2
// Γ u+0393 C3
// γ u+03B3 E3
// Δ u+0394 C4
// δ u+03B4 E4
// Ε u+0395 C5
// ε u+03B5 E5
// Ζ u+0396 C6
// ζ u+03B6 E6
// Η u+0397 C7
// η u+03B7 E7
// Θ u+0398 C8
// θ u+03B8 E8
// Ι u+0399 C9
// ι u+03B9 E9
// Κ u+039A CA
// κ u+03BA EA
// Λ u+039B CB
// λ u+03BB EB
// Μ u+039C CC
// μ u+03BC EC
// Ν u+039D CD
// ν u+03BD ED
// Ξ u+039E CE
// ξ u+03BE EE
// Ο u+039F CF
// ο u+03BF EF
// Π u+03A0 D0
// π u+03C0 F0
// Ρ u+03A1 D1
// ρ u+03C1 F1
// Σ u+03A3 D3
// σ u+03C3 F3
// ς u+03C2 F2
// Τ u+03A4 D4
// τ u+03C4 F4
// Υ u+03A5 D5
// υ u+03C5 F5
// Φ u+03A6 D6
// φ u+03C6 F6
// Χ u+03A7 D7
// χ u+03C7 F7
// Ψ u+03A8 D8
// ψ u+03C8 F8
// Ω u+03A9 D9
// ω u+03C9 F9
Imports System.Text
Module Example2
Public Sub Run()
Dim enc As Encoding = Encoding.GetEncoding(1253)
Dim altEnc As Encoding = Encoding.GetEncoding("windows-1253")
Console.WriteLine("{0} = Code Page {1}: {2}", enc.EncodingName,
altEnc.CodePage, enc.Equals(altEnc))
Dim greekAlphabet As String = "Α α Β β Γ γ Δ δ Ε ε Ζ ζ Η η " +
"Θ θ Ι ι Κ κ Λ λ Μ μ Ν ν Ξ ξ " +
"Ο ο Π π Ρ ρ Σ σ ς Τ τ Υ υ " +
"Φ φ Χ χ Ψ ψ Ω ω"
Console.OutputEncoding = Encoding.UTF8
Dim bytes() As Byte = enc.GetBytes(greekAlphabet)
Console.WriteLine("{0,-12} {1,20} {2,20:X2}", "Character",
"Unicode Code Point", "Code Page 1253")
For ctr As Integer = 0 To bytes.Length - 1
If greekAlphabet(ctr).Equals(" "c) Then Continue For
Console.WriteLine("{0,-12} {1,20} {2,20:X2}", greekAlphabet(ctr),
GetCodePoint(greekAlphabet(ctr)), bytes(ctr))
Next
End Sub
Private Function GetCodePoint(ch As String) As String
Dim retVal As String = "u+"
Dim bytes() As Byte = Encoding.Unicode.GetBytes(ch)
For ctr As Integer = bytes.Length - 1 To 0 Step -1
retVal += bytes(ctr).ToString("X2")
Next
Return retVal
End Function
End Module
' The example displays the following output:
' Character Unicode Code Point Code Page 1253
' Α u+0391 C1
' α u+03B1 E1
' Β u+0392 C2
' β u+03B2 E2
' Γ u+0393 C3
' γ u+03B3 E3
' Δ u+0394 C4
' δ u+03B4 E4
' Ε u+0395 C5
' ε u+03B5 E5
' Ζ u+0396 C6
' ζ u+03B6 E6
' Η u+0397 C7
' η u+03B7 E7
' Θ u+0398 C8
' θ u+03B8 E8
' Ι u+0399 C9
' ι u+03B9 E9
' Κ u+039A CA
' κ u+03BA EA
' Λ u+039B CB
' λ u+03BB EB
' Μ u+039C CC
' μ u+03BC EC
' Ν u+039D CD
' ν u+03BD ED
' Ξ u+039E CE
' ξ u+03BE EE
' Ο u+039F CF
' ο u+03BF EF
' Π u+03A0 D0
' π u+03C0 F0
' Ρ u+03A1 D1
' ρ u+03C1 F1
' Σ u+03A3 D3
' σ u+03C3 F3
' ς u+03C2 F2
' Τ u+03A4 D4
' τ u+03C4 F4
' Υ u+03A5 D5
' υ u+03C5 F5
' Φ u+03A6 D6
' φ u+03C6 F6
' Χ u+03A7 D7
' χ u+03C7 F7
' Ψ u+03A8 D8
' ψ u+03C8 F8
' Ω u+03A9 D9
' ω u+03C9 F9
Om data som ska konverteras endast är tillgängliga i sekventiella block (till exempel data som läses från en dataström) eller, om mängden data är så stor att den måste delas upp i mindre block, bör du använda Decoder eller Encoder som tillhandahålls av metoden GetDecoder eller GetEncoder för en härledd klass.
UTF-16- och UTF-32-kodarna kan använda den stora endianska byteordningen (mest betydande byte först) eller den lilla endianska byteordningen (minst betydande byte först). Till exempel serialiseras den latinska versala bokstaven A (U+0041) enligt följande (i hexadecimal):
- UTF-16 stor endian byteordning: 00 41
- UTF-16 lilländsk byte-ordning: 41 00
- UTF-32 stor endian byte ordning: 00 00 00 41
- UTF-32 lite endian byte ordning: 41 00 00 00
Det är vanligtvis mer effektivt att lagra Unicode-tecken med den interna byteordningen. Det är till exempel bättre att använda den lilla endianska byteordningen på små endianska plattformar, till exempel Intel-datorer.
Metoden GetPreamble hämtar en matris med byte som innehåller byteordningsmarkeringen (BOM). Om den här bytematrisen är prefix för en kodad ström hjälper den avkodaren att identifiera det kodningsformat som används.
Mer information om byteordning och byteordningsmarkering finns i Unicode Standard på Unicode-startsidan.
Observera att kodningsklasserna tillåter fel för att:
- Ändra tyst till ett "?"-tecken.
- Använd ett "bäst passande" tecken.
- Ändra till ett programspecifikt beteende med hjälp av EncoderFallback- och DecoderFallback-klasserna med U+FFFD Unicode-ersättningstecknet.
Du bör utlösa ett undantag vid uppstått dataströmsfel. En app använder antingen en "throwonerror"-flagga när det är tillämpligt eller använder klasserna EncoderExceptionFallback och DecoderExceptionFallback. Bästa möjliga återställning rekommenderas ofta inte eftersom det kan orsaka dataförlust eller förvirring och är långsammare än enkla teckenbyten. För ANSI-kodningar är det bästa anpassningsbeteendet standard.
Konstruktorer
| Name | Description |
|---|---|
| Encoding() |
Initierar en ny instans av Encoding klassen. |
| Encoding(Int32, EncoderFallback, DecoderFallback) |
Initierar en ny instans av Encoding klassen som motsvarar den angivna kodsidan med de angivna reservstrategierna för kodare och avkodare. |
| Encoding(Int32) |
Initierar en ny instans av Encoding klassen som motsvarar den angivna kodsidan. |
Egenskaper
| Name | Description |
|---|---|
| ASCII |
Hämtar en kodning för ASCII-teckenuppsättningen (7-bitars). |
| BigEndianUnicode |
Hämtar en kodning för UTF-16-formatet som använder den stora endianska byteordningen. |
| BodyName |
När det åsidosätts i en härledd klass får du ett namn för den aktuella kodningen som kan användas med e-postagentens brödtexttaggar. |
| CodePage |
När du åsidosättas i en härledd klass hämtar du kodsideidentifieraren för den aktuella Encoding. |
| DecoderFallback |
Hämtar eller anger objektet DecoderFallback för det aktuella Encoding objektet. |
| Default |
Hämtar standardkodningen för den här .NET implementeringen. |
| EncoderFallback |
Hämtar eller anger objektet EncoderFallback för det aktuella Encoding objektet. |
| EncodingName |
När den åsidosättas i en härledd klass hämtar den läsbara beskrivningen av den aktuella kodningen. |
| HeaderName |
När det åsidosätts i en härledd klass får du ett namn för den aktuella kodningen som kan användas med rubriktaggar för e-postagenten. |
| IsBrowserDisplay |
När den åsidosättas i en härledd klass får ett värde som anger om den aktuella kodningen kan användas av webbläsarklienter för att visa innehåll. |
| IsBrowserSave |
När det åsidosätts i en härledd klass får ett värde som anger om den aktuella kodningen kan användas av webbläsarklienter för att spara innehåll. |
| IsMailNewsDisplay |
När den åsidosättas i en härledd klass får du ett värde som anger om den aktuella kodningen kan användas av e-post- och nyhetsklienter för att visa innehåll. |
| IsMailNewsSave |
När den åsidosätts i en härledd klass får du ett värde som anger om den aktuella kodningen kan användas av e-post- och nyhetsklienter för att spara innehåll. |
| IsReadOnly |
När den åsidosättas i en härledd klass får du ett värde som anger om den aktuella kodningen är skrivskyddad. |
| IsSingleByte |
När det åsidosättas i en härledd klass får du ett värde som anger om den aktuella kodningen använder kodpunkter med en enda byte. |
| Latin1 |
Hämtar en kodning för teckenuppsättningen Latin1 (ISO-8859-1). |
| Preamble |
När det åsidosätts i en härledd klass returneras ett intervall som innehåller sekvensen med byte som anger den kodning som används. |
| Unicode |
Hämtar en kodning för UTF-16-formatet med hjälp av den lilla endianska byteordningen. |
| UTF32 |
Hämtar en kodning för UTF-32-formatet med hjälp av den lilla endianska byteordningen. |
| UTF7 |
Föråldrad.
Hämtar en kodning för UTF-7-formatet. |
| UTF8 |
Hämtar en kodning för UTF-8-formatet. |
| WebName |
När det åsidosätts i en härledd klass, hämtar det namn som registrerats med IANA (Internet Assigned Numbers Authority) för den aktuella kodningen. |
| WindowsCodePage |
När den åsidosätts i en härledd klass hämtar den kodsida för Windows operativsystem som närmast motsvarar den aktuella kodningen. |
Metoder
| Name | Description |
|---|---|
| Clone() |
När du åsidosättas i en härledd klass skapar du en ytlig kopia av det aktuella Encoding objektet. |
| Convert(Encoding, Encoding, Byte[], Int32, Int32) |
Konverterar ett intervall med byte i en bytematris från en kodning till en annan. |
| Convert(Encoding, Encoding, Byte[]) |
Konverterar en hel bytematris från en kodning till en annan. |
| CreateTranscodingStream(Stream, Encoding, Encoding, Boolean) |
Skapar en Stream som används för att omkoda data mellan en inre Encoding och en yttre Encoding, som liknar Convert(Encoding, Encoding, Byte[]). |
| Equals(Object) |
Avgör om den angivna Object är lika med den aktuella instansen. |
| GetByteCount(Char[], Int32, Int32) |
När det åsidosättas i en härledd klass beräknas antalet byte som genereras genom att koda en uppsättning tecken från den angivna teckenmatrisen. |
| GetByteCount(Char[]) |
När det åsidosättas i en härledd klass beräknas antalet byte som skapas genom att koda alla tecken i den angivna teckenmatrisen. |
| GetByteCount(Char*, Int32) |
När du åsidosättas i en härledd klass beräknar du antalet byte som genereras genom att koda en uppsättning tecken med början vid den angivna teckenpekaren. |
| GetByteCount(ReadOnlySpan<Char>) |
När det åsidosättas i en härledd klass beräknas antalet byte som genereras genom att koda tecknen i det angivna teckenintervallet. |
| GetByteCount(String, Int32, Int32) |
När du åsidosättas i en härledd klass beräknar du antalet byte som genereras genom att koda en uppsättning tecken från den angivna strängen. |
| GetByteCount(String) |
När det åsidosättas i en härledd klass beräknas antalet byte som genereras genom att koda tecknen i den angivna strängen. |
| GetBytes(Char[], Int32, Int32, Byte[], Int32) |
När den åsidosättas i en härledd klass kodar en uppsättning tecken från den angivna teckenmatrisen till den angivna bytematrisen. |
| GetBytes(Char[], Int32, Int32) |
När den åsidosättas i en härledd klass kodar en uppsättning tecken från den angivna teckenmatrisen till en sekvens med byte. |
| GetBytes(Char[]) |
När det åsidosättas i en härledd klass kodas alla tecken i den angivna teckenmatrisen till en sekvens med byte. |
| GetBytes(Char*, Int32, Byte*, Int32) |
När den åsidosätts i en härledd klass kodas en uppsättning tecken som börjar vid den angivna teckenpekaren till en sekvens med byte som lagras från och med den angivna bytepekaren. |
| GetBytes(ReadOnlySpan<Char>, Span<Byte>) |
När det åsidosättas i en härledd klass kodar till ett intervall med byte en uppsättning tecken från det angivna skrivskyddade intervallet. |
| GetBytes(String, Int32, Int32, Byte[], Int32) |
När den åsidosättas i en härledd klass kodar en uppsättning tecken från den angivna strängen till den angivna bytematrisen. |
| GetBytes(String, Int32, Int32) |
När det åsidosättas i en härledd klass kodar till en matris med byte det antal tecken som anges av |
| GetBytes(String) |
När det åsidosättas i en härledd klass kodar alla tecken i den angivna strängen till en sekvens med byte. |
| GetCharCount(Byte[], Int32, Int32) |
När det åsidosättas i en härledd klass beräknas antalet tecken som genereras genom avkodning av en sekvens med byte från den angivna bytematrisen. |
| GetCharCount(Byte[]) |
När det åsidosättas i en härledd klass beräknas antalet tecken som genereras genom avkodning av alla byte i den angivna bytematrisen. |
| GetCharCount(Byte*, Int32) |
När det åsidosättas i en härledd klass beräknas antalet tecken som genereras genom avkodning av en sekvens med byte som börjar vid den angivna bytepekaren. |
| GetCharCount(ReadOnlySpan<Byte>) |
När det åsidosättas i en härledd klass beräknas antalet tecken som genereras genom avkodning av det angivna skrivskyddade byteintervallet. |
| GetChars(Byte[], Int32, Int32, Char[], Int32) |
När den åsidosättas i en härledd klass avkodar en sekvens med byte från den angivna bytematrisen till den angivna teckenmatrisen. |
| GetChars(Byte[], Int32, Int32) |
När den åsidosättas i en härledd klass avkodas en sekvens med byte från den angivna bytematrisen till en uppsättning tecken. |
| GetChars(Byte[]) |
När de åsidosättas i en härledd klass avkodas alla byte i den angivna bytematrisen till en uppsättning tecken. |
| GetChars(Byte*, Int32, Char*, Int32) |
När den åsidosätts i en härledd klass avkodas en sekvens med byte som börjar vid den angivna bytepekaren till en uppsättning tecken som lagras från och med den angivna teckenpekaren. |
| GetChars(ReadOnlySpan<Byte>, Span<Char>) |
När de åsidosättas i en härledd klass avkodas alla byte i det angivna skrivskyddade byteintervallet till ett teckenintervall. |
| GetDecoder() |
När den åsidosätts i en härledd klass hämtar en avkodare som konverterar en kodad sekvens med byte till en sekvens med tecken. |
| GetEncoder() |
När den åsidosätts i en härledd klass hämtar den en kodare som konverterar en sekvens med Unicode-tecken till en kodad sekvens med byte. |
| GetEncoding(Int32, EncoderFallback, DecoderFallback) |
Returnerar kodningen som är associerad med den angivna kodsideidentifieraren. Parametrar anger en felhanterare för tecken som inte kan kodas och bytesekvenser som inte kan avkodas. |
| GetEncoding(Int32) |
Returnerar kodningen som är associerad med den angivna kodsideidentifieraren. |
| GetEncoding(String, EncoderFallback, DecoderFallback) |
Returnerar kodningen som är associerad med det angivna kodsidenamnet. Parametrar anger en felhanterare för tecken som inte kan kodas och bytesekvenser som inte kan avkodas. |
| GetEncoding(String) |
Returnerar kodningen som är associerad med det angivna kodsidenamnet. |
| GetEncodings() |
Returnerar en matris som innehåller alla kodningar. |
| GetHashCode() |
Returnerar hash-koden för den aktuella instansen. |
| GetMaxByteCount(Int32) |
När det åsidosättas i en härledd klass beräknar det maximala antalet byte som genereras genom att koda det angivna antalet tecken. |
| GetMaxCharCount(Int32) |
När det åsidosättas i en härledd klass beräknas det maximala antalet tecken som genereras genom avkodning av det angivna antalet byte. |
| GetPreamble() |
När den åsidosätts i en härledd klass returnerar en sekvens med byte som anger den kodning som används. |
| GetString(Byte[], Int32, Int32) |
När den åsidosättas i en härledd klass avkodar en sekvens med byte från den angivna bytematrisen till en sträng. |
| GetString(Byte[]) |
När de åsidosättas i en härledd klass avkodas alla byte i den angivna bytematrisen till en sträng. |
| GetString(Byte*, Int32) |
När det åsidosättas i en härledd klass avkodas ett angivet antal byte som börjar vid en angiven adress till en sträng. |
| GetString(ReadOnlySpan<Byte>) |
När de åsidosättas i en härledd klass avkodas alla byte i det angivna byteintervallet till en sträng. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| IsAlwaysNormalized() |
Hämtar ett värde som anger om den aktuella kodningen alltid normaliseras med standardnormaliseringsformuläret. |
| IsAlwaysNormalized(NormalizationForm) |
När den åsidosättas i en härledd klass får du ett värde som anger om den aktuella kodningen alltid normaliseras med hjälp av det angivna normaliseringsformuläret. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| RegisterProvider(EncodingProvider) |
Registrerar en kodningsprovider. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32) |
Kodar till ett intervall med byte en uppsättning tecken från det angivna skrivskyddade intervallet om målet är tillräckligt stort. |
| TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32) |
Avkodar till ett intervall av tecken en uppsättning byte från det angivna skrivskyddade intervallet om målet är tillräckligt stort. |