ASCIIEncoding 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 ASCII-teckenkodning av Unicode-tecken.
public ref class ASCIIEncoding : System::Text::Encoding
public class ASCIIEncoding : System.Text.Encoding
[System.Serializable]
public class ASCIIEncoding : System.Text.Encoding
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class ASCIIEncoding : System.Text.Encoding
type ASCIIEncoding = class
inherit Encoding
[<System.Serializable>]
type ASCIIEncoding = class
inherit Encoding
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ASCIIEncoding = class
inherit Encoding
Public Class ASCIIEncoding
Inherits Encoding
- Arv
- Attribut
Exempel
I följande exempel visas hur du kodar Unicode-tecken till ASCII. Observera förlusten av data som inträffar när programmet använder ASCIIEncoding för att koda Unicode-tecken utanför ASCII-intervallet.
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);
}
}
// The example displays the following output:
// Original string:
// This Unicode string contains two characters with codes outside the ASCII code ra
// nge, Pi (Π) and Sigma (Σ).
//
// Encoded bytes:
// [84][104][105][115][32][85][110][105][99][111][100][101][32][115][116][114][105]
// [110][103][32][99][111][110][116][97][105][110][115][32][116][119][111][32][99][
// 104][97][114][97][99][116][101][114][115][32][119][105][116][104][32][99][111][1
// 00][101][115][32][111][117][116][115][105][100][101][32][116][104][101][32][65][
// 83][67][73][73][32][99][111][100][101][32][114][97][110][103][101][44][32][80][1
// 05][32][40][63][41][32][97][110][100][32][83][105][103][109][97][32][40][63][41]
// [46]
//
// Value at position of Pi character: 63
// Value at position of Sigma character: 63
//
// Decoded bytes:
// This Unicode string contains two characters with codes outside the ASCII code ra
// nge, Pi (?) and Sigma (?).
Imports System.Text
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
End Class
' The example displays the following output:
' Original string:
' This Unicode string contains two characters with codes outside the ASCII code ra
' nge, Pi (Π) and Sigma (Σ).
'
' Encoded bytes:
' [84][104][105][115][32][85][110][105][99][111][100][101][32][115][116][114][105]
' [110][103][32][99][111][110][116][97][105][110][115][32][116][119][111][32][99][
' 104][97][114][97][99][116][101][114][115][32][119][105][116][104][32][99][111][1
' 00][101][115][32][111][117][116][115][105][100][101][32][116][104][101][32][65][
' 83][67][73][73][32][99][111][100][101][32][114][97][110][103][101][44][32][80][1
' 05][32][40][63][41][32][97][110][100][32][83][105][103][109][97][32][40][63][41]
' [46]
'
' Value at position of Pi character: 63
' Value at position of Sigma character: 63
'
' Decoded bytes:
' This Unicode string contains two characters with codes outside the ASCII code ra
' nge, Pi (?) and Sigma (?).
Kommentarer
Kodning är processen att omvandla en uppsättning Unicode-tecken till en sekvens med byte. Avkodning är processen att omvandla en sekvens med kodade byte till en uppsättning Unicode-tecken.
ASCIIEncoding motsvarar Windows kodsidan 20127. Eftersom ASCII är en 7-bitars kodning är ASCII-tecken begränsade till de lägsta 128 Unicode-tecknen, från U+0000 till U+007F. Om du använder standardkodaren som returneras av Encoding.ASCII egenskapen eller ASCIIEncoding konstruktorn ersätts tecken utanför intervallet med ett frågetecken (?) innan kodningsåtgärden utförs. ASCIIEncoding Eftersom klassen endast stöder en begränsad teckenuppsättning passar klasserna UTF8Encoding, UnicodeEncodingoch UTF32Encoding bättre för globaliserade program. Följande överväganden kan hjälpa dig att avgöra om du vill använda ASCIIEncoding:
Vissa protokoll kräver ASCII eller en delmängd av ASCII. I dessa fall är ASCII-kodning lämpligt.
Om en 8-bitarskodning förväntas är ASCII förmodligen inte rätt val. Överväg i stället att använda UTF8 i stället för ASCII. För tecknen U+0000 till U+007F är resultaten identiska, men alla Unicode-tecken kan representeras i UTF-8, vilket förhindrar dataförlust.
Caution
ASCIIEncoding anger inte felidentifiering. Av säkerhetsskäl bör du använda UTF8Encoding, UnicodeEncodingeller UTF32Encoding och aktivera felidentifiering.
Metoden GetByteCount avgör hur många byte som resulterar i kodning av en uppsättning Unicode-tecken och GetBytes metoden utför den faktiska kodningen.
GetCharCount På samma sätt avgör metoden hur många tecken som resulterar i avkodning av en sekvens med byte, och GetChars metoderna och GetString utför den faktiska avkodningen.
Observera att standardkonstruktorn ASCIIEncoding i sig kanske inte har rätt beteende för ditt program. Du kanske vill överväga att ange EncoderFallback egenskapen eller DecoderFallback till EncoderExceptionFallback eller DecoderExceptionFallback förhindra sekvenser med den 8:e bituppsättningen. Anpassat beteende kan också vara lämpligt för dessa fall.
Konstruktorer
| Name | Description |
|---|---|
| ASCIIEncoding() |
Initierar en ny instans av ASCIIEncoding klassen. |
Egenskaper
| Name | Description |
|---|---|
| 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. (Ärvd från Encoding) |
| CodePage |
När du åsidosättas i en härledd klass hämtar du kodsideidentifieraren för den aktuella Encoding. (Ärvd från Encoding) |
| DecoderFallback |
Hämtar eller anger objektet DecoderFallback för det aktuella Encoding objektet. (Ärvd från Encoding) |
| EncoderFallback |
Hämtar eller anger objektet EncoderFallback för det aktuella Encoding objektet. (Ärvd från Encoding) |
| EncodingName |
När den åsidosättas i en härledd klass hämtar den läsbara beskrivningen av den aktuella kodningen. (Ärvd från Encoding) |
| 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. (Ärvd från Encoding) |
| 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. (Ärvd från Encoding) |
| 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. (Ärvd från Encoding) |
| 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. (Ärvd från Encoding) |
| 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. (Ärvd från Encoding) |
| 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. (Ärvd från Encoding) |
| IsSingleByte |
Hämtar ett värde som anger om den aktuella kodningen använder kodpunkter med en enda byte. |
| 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. (Ärvd från Encoding) |
| 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. (Ärvd från Encoding) |
| 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. (Ärvd från Encoding) |
Metoder
| Name | Description |
|---|---|
| Clone() |
När du åsidosättas i en härledd klass skapar du en ytlig kopia av det aktuella Encoding objektet. (Ärvd från Encoding) |
| Equals(Object) |
Avgör om den angivna Object är lika med den aktuella instansen. (Ärvd från Encoding) |
| GetByteCount(Char[], Int32, Int32) |
Beräknar antalet byte som skapas 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. (Ärvd från Encoding) |
| GetByteCount(Char*, Int32) |
Beräknar antalet byte som skapas genom att koda en uppsättning tecken med början vid den angivna teckenpekaren. |
| GetByteCount(ReadOnlySpan<Char>) |
Beräknar antalet byte som skapas genom att koda det angivna teckenintervallet. |
| 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. (Ärvd från Encoding) |
| 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. (Ärvd från Encoding) |
| GetByteCount(String) |
Beräknar antalet byte som genereras genom att koda tecknen i den angivna String. |
| GetBytes(Char[], Int32, Int32, Byte[], Int32) |
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. (Ärvd från Encoding) |
| GetBytes(Char[]) |
När det åsidosättas i en härledd klass kodas alla tecken i den angivna teckenmatrisen till en sekvens med byte. (Ärvd från Encoding) |
| GetBytes(Char*, Int32, Byte*, Int32) |
Kodar 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>) |
Kodar det angivna teckenintervallet till det angivna byteintervallet. |
| 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. (Ärvd från Encoding) |
| GetBytes(String, Int32, Int32, Byte[], Int32) |
Kodar en uppsättning tecken från den angivna String i 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. (Ärvd från Encoding) |
| GetCharCount(Byte[], Int32, Int32) |
Beräknar 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. (Ärvd från Encoding) |
| GetCharCount(Byte*, Int32) |
Beräknar antalet tecken som genereras genom avkodning av en sekvens med byte som börjar vid den angivna bytepekaren. |
| GetCharCount(ReadOnlySpan<Byte>) |
Beräknar antalet tecken som genereras genom avkodning av det angivna byteintervallet. |
| 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. (Ärvd från Encoding) |
| GetChars(Byte[], Int32, Int32, Char[], Int32) |
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. (Ärvd från Encoding) |
| GetChars(Byte[]) |
När de åsidosättas i en härledd klass avkodas alla byte i den angivna bytematrisen till en uppsättning tecken. (Ärvd från Encoding) |
| GetChars(Byte*, Int32, Char*, Int32) |
Avkodar 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>) |
Avkodar det angivna byteintervallet till det angivna teckenintervallet. |
| 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. (Ärvd från Encoding) |
| GetDecoder() |
Hämtar en dekodare som konverterar en ASCII-kodad sekvens med byte till en sekvens med Unicode-tecken. |
| 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. (Ärvd från Encoding) |
| GetEncoder() |
Hämtar en kodare som konverterar en sekvens med Unicode-tecken till en ASCII-kodad sekvens med byte. |
| 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. (Ärvd från Encoding) |
| GetHashCode() |
Returnerar hash-koden för den aktuella instansen. (Ärvd från Encoding) |
| GetMaxByteCount(Int32) |
Beräknar det maximala antalet byte som genereras genom kodning av det angivna antalet tecken. |
| GetMaxCharCount(Int32) |
Beräknar 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. (Ärvd från Encoding) |
| GetString(Byte[], Int32, Int32) |
Avkodar ett intervall med byte från en bytematris till en sträng. |
| GetString(Byte[]) |
Representerar en ASCII-teckenkodning av Unicode-tecken. |
| GetString(Byte[]) |
När de åsidosättas i en härledd klass avkodas alla byte i den angivna bytematrisen till en sträng. (Ärvd från Encoding) |
| 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. (Ärvd från Encoding) |
| GetString(ReadOnlySpan<Byte>) |
När de åsidosättas i en härledd klass avkodas alla byte i det angivna byteintervallet till en sträng. (Ärvd från Encoding) |
| 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. (Ärvd från Encoding) |
| 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. (Ärvd från Encoding) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| 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. |