當前位置: 首頁>>代碼示例>>C#>>正文


C# Decoder.GetCharCount方法代碼示例

本文整理匯總了C#中System.Text.Decoder.GetCharCount方法的典型用法代碼示例。如果您正苦於以下問題:C# Decoder.GetCharCount方法的具體用法?C# Decoder.GetCharCount怎麽用?C# Decoder.GetCharCount使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Text.Decoder的用法示例。


在下文中一共展示了Decoder.GetCharCount方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: GetStringFromByteArray

        // GetStringFromByteArray metodu byte dizisindeki belli uzunluktaki
        // bir parçayı alarak, string olarak döndürür.
        //
        // bytes:  Byte dizisi.
        // iStart: Byte dizisindeki başlangıç konumu.
        // iLen:   Çevrilecek  byte parçasının uzunluğu.
        // dec:    Çevirmede kullanılacak Decoder.
        public static string GetStringFromByteArray(Byte[] bytes, int iStart,
            int iLen, Decoder dec)
        {
            // Parametrelerin hata kontrolünü yap.
            if ((iStart + iLen <= bytes.Length) && (iStart >= 0) && (iLen > 0))
            {
                // Karakter dizisi nesnesi oluştur.
                Char[] chars;
                // StringBuilder nesnesi oluştur.
                StringBuilder sb = new StringBuilder();

                // GetCharCount metoduyla, byte dizisindeki kodlaması çözülecek
                // olan byte'lar için gerekli karakter sayısını hesapla.
                int iCharCount = dec.GetCharCount(bytes, iStart, iLen);
                // Karakter dizisini boyutlandır.
                chars = new Char[iCharCount];
                // GetChars metoduyla, belirtilen sayı kadar, byte dizisinden
                // alınan elemanların karakter dizisine çevrilmesi:
                dec.GetChars(bytes, iStart, iLen, chars, 0);

                // must skip null-termination of C++ string
                // Karakter dizisinin sonundaki null kontrolü için:
                for (int i = 0; i < iCharCount; ++i)
                {
                    // Konrol karakteri var mı?
                    if (Char.GetUnicodeCategory(chars[i]) != UnicodeCategory.Control)
                    {
                        // Karakter dizini doldur.
                        sb.Append(chars[i].ToString());
                    }
                    else
                    {
                        break;      // Konrol karakteri yakalandı.
                    }//if
                }//for

                return sb.ToString();
            }
            else
            {
                // Parametrelerde hata bulundu. Boş bir string çevir.
                return String.Empty;
            }
        }
開發者ID:tasinsahin,項目名稱:WindowsFormsApplication2,代碼行數:51,代碼來源:strUtils.cs

示例2: ReadMinimum

 public static string ReadMinimum(this Stream stream, Decoder decoder)
 {
     var buffer = new byte[16];
     for (int i = 0; i < buffer.Length; ++i)
     {
         var read = stream.Read(buffer, i, 1);
         if (read == 0)
         {
             if (i != 0) throw new Exception("invalid encoded text?");
             return null;
         }
         var charCount = decoder.GetCharCount(buffer, 0, i + 1);
         if (charCount != 0)
         {
             var chars = new char[charCount];
             decoder.GetChars(buffer, 0, i + 1, chars, 0);
             return new string(chars);
         }
     }
     throw new Exception("impossible?");
 }
開發者ID:JeffreySu,項目名稱:MemcachedSharp,代碼行數:21,代碼來源:TestUtil.cs

示例3: GetCharsFromStream

		private int GetCharsFromStream(Stream inputStream, int count, Decoder decoder, char[] chars)
		{
			// Now, read just the field value.
			PGUtil.CheckedStreamRead(inputStream, _inputBuffer, 0, count);
			int charCount = decoder.GetCharCount(_inputBuffer, 0, count);
			decoder.GetChars(_inputBuffer, 0, count, chars, 0);
			return charCount;
		}
開發者ID:nlhepler,項目名稱:mono,代碼行數:8,代碼來源:NpgsqlAsciiRow.cs


注:本文中的System.Text.Decoder.GetCharCount方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。