UTF7Encoding.GetString(Byte[], Int32, Int32) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bayt dizisinden bir dizeye bayt aralığının kodunu çözer.
public:
override System::String ^ GetString(cli::array <System::Byte> ^ bytes, int index, int count);
public override string GetString (byte[] bytes, int index, int count);
[System.Runtime.InteropServices.ComVisible(false)]
public override string GetString (byte[] bytes, int index, int count);
override this.GetString : byte[] * int * int -> string
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetString : byte[] * int * int -> string
Public Overrides Function GetString (bytes As Byte(), index As Integer, count As Integer) As String
Parametreler
- bytes
- Byte[]
Kod çözme bayt sırasını içeren bayt dizisi.
- index
- Int32
Kodunu çözmek için ilk bayt dizini.
- count
- Int32
Kodu çözecek bayt sayısı.
Döndürülenler
String Belirtilen bayt dizisinin kodunu çözmenin sonuçlarını içeren bir.
- Öznitelikler
Özel durumlar
bytes
is null
(Nothing
).
index
veya count
sıfırdan küçüktür.
-veya-
index
ve count
içinde bytes
geçerli bir aralığı ifade etmeyin.
Bir geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlaması).
-Ve-
DecoderFallback olarak ayarlanır DecoderExceptionFallback.
Örnekler
Aşağıdaki kod örneği bir dizeyi bir bayt dizisine kodlar ve ardından baytların kodunu bir dizeye geri çözer.
using namespace System;
using namespace System::Text;
int main()
{
// Create an instance of UTF7Encoding.
UTF7Encoding^ u7 = gcnew UTF7Encoding( true );
// Create byte arrays from the same string containing the following characters:
// Latin Small Letter Z (U+007A)
// Latin Small Letter A (U+0061)
// Combining Breve (U+0306)
// Latin Small Letter AE With Acute (U+01FD)
// Greek Small Letter Beta (U+03B2)
String^ myStr = "za\u0306\u01FD\u03B2";
// Encode the string.
array<Byte>^myBArr = gcnew array<Byte>(u7->GetByteCount( myStr ));
u7->GetBytes( myStr, 0, myStr->Length, myBArr, 0 );
// Decode the byte array.
Console::WriteLine( "The new string is: {0}", u7->GetString( myBArr, 0, myBArr->Length ) );
}
/*
This code produces the following output. The question marks take the place of characters that cannot be displayed at the console.
The new string is: za??
*/
using System;
using System.Text;
public class SamplesUTF7Encoding {
public static void Main() {
// Create an instance of UTF7Encoding.
UTF7Encoding u7 = new UTF7Encoding( true );
// Create byte arrays from the same string containing the following characters:
// Latin Small Letter Z (U+007A)
// Latin Small Letter A (U+0061)
// Combining Breve (U+0306)
// Latin Small Letter AE With Acute (U+01FD)
// Greek Small Letter Beta (U+03B2)
String myStr = "za\u0306\u01FD\u03B2";
// Encode the string.
byte[] myBArr = new byte[u7.GetByteCount( myStr )];
u7.GetBytes( myStr, 0, myStr.Length, myBArr, 0 );
// Decode the byte array.
Console.WriteLine( "The new string is: {0}", u7.GetString( myBArr, 0, myBArr.Length ) );
}
}
/*
This code produces the following output. The question marks take the place of characters that cannot be displayed at the console.
The new string is: za??
*/
Imports System.Text
Public Class SamplesUTF7Encoding
Public Shared Sub Main()
' Create an instance of UTF7Encoding.
Dim u7 As New UTF7Encoding(True)
' Create byte arrays from the same string containing the following characters:
' Latin Small Letter Z (U+007A)
' Latin Small Letter A (U+0061)
' Combining Breve (U+0306)
' Latin Small Letter AE With Acute (U+01FD)
' Greek Small Letter Beta (U+03B2)
Dim myStr As String = "za" & ChrW(&H0306) & ChrW(&H01FD) & ChrW(&H03B2)
' Encode the string.
Dim myBArr(u7.GetByteCount(myStr)) As Byte
u7.GetBytes(myStr, 0, myStr.Length, myBArr, 0)
' Decode the byte array.
Console.WriteLine("The new string is: {0}", u7.GetString(myBArr, 0, myBArr.Length))
End Sub
End Class
'This code produces the following output. The question marks take the place of characters that cannot be displayed at the console.
'
'The new string is: za??ß
Açıklamalar
Bir akıştan okunan veriler gibi dönüştürülecek veriler yalnızca sıralı bloklarda kullanılabilir. Bu durumda veya veri miktarı daha küçük bloklara bölünmesi gereken kadar büyükse, uygulama sırasıyla yöntemi veya yöntemi tarafından GetDecoder sağlanan öğesini kullanmalıdır.DecoderEncoderGetEncoder
Not
UTF7Encoding hata algılama sağlamaz. Geçersiz baytlarla karşılaşıldığında, UTF7Encoding genellikle geçersiz baytları yayar. Bayt onaltılık 0x7F daha büyükse, bayt değeri sıfır unicode karaktere genişletilir, sonuç dizide chars
depolanır ve herhangi bir vardiya dizisi sonlandırılır. Örneğin, kodlanan bayt onaltılık 0x81 ise, sonuçta elde edilen karakter U+0081 olur. Güvenlik nedenleriyle, uygulamalarınızın , UnicodeEncodingveya UTF32Encoding kullanması UTF8Encodingve hata algılamayı etkinleştirmesi önerilir.