当前位置: 首页>>代码示例>>C#>>正文


C# Decoder.GetChars方法代码示例

本文整理汇总了C#中System.Text.Decoder.GetChars方法的典型用法代码示例。如果您正苦于以下问题:C# Decoder.GetChars方法的具体用法?C# Decoder.GetChars怎么用?C# Decoder.GetChars使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Text.Decoder的用法示例。


在下文中一共展示了Decoder.GetChars方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: IntReadChars

 private int IntReadChars(char[] buffer, int index, int count, Encoding encode, Decoder decoder)
 {
     int cpS = 1;
     if (encode is UnicodeEncoding)
     {
         cpS = 2;
     }
     else if (encode is UTF32Encoding)
     {
         cpS = 4;
     }
     int rem = count;
     while (rem > 0)
     {
         int read = Math.Min(rem*cpS, _bufferLength);
         read = _stream.Read(_buffer, 0, read);
         if (read == 0)
         {
             return count - rem;
         }
         read = decoder.GetChars(_buffer, 0, read, buffer, index);
         rem -= read;
         index += read;
     }
     return count;
 }
开发者ID:GovanifY,项目名称:KH2FM_Toolkit,代码行数:26,代码来源:GY_BinaryStream.cs

示例4: DecoderFallbackExceptions_GetChars

	// try to convert the all current test's bytes with Getchars()
	// in only one step
	private void DecoderFallbackExceptions_GetChars (
		char [] chars,
		int testno,
		Decoder dec,
		DecoderFallbackExceptionTest t)
	{
		try {
			dec.GetChars (t.bytes, 0, t.bytes.Length, chars, 0, true);
				Assert.IsTrue (
					t.eindex.Length == 0,
					String.Format (
						"test#{0}-1: UNEXPECTED SUCCESS",
						testno));
		} catch(DecoderFallbackException ex) {
			Assert.IsTrue (
				t.eindex.Length > 0,
				String.Format (
					"test#{0}-1: UNEXPECTED FAIL",
					testno));
			Assert.IsTrue (
				ex.Index == t.eindex[0],
				String.Format (
					"test#{0}-1: Expected exception at {1} not {2}.",
					testno,
					t.eindex[0],
					ex.Index));
			Assert.IsTrue (
				ex.BytesUnknown.Length == t.elen[0],
				String.Format (
					"test#{0}-1: Expected BytesUnknown.Length of {1} not {2}.",
					testno,
					t.elen[0],
					ex.BytesUnknown.Length));
			for (int i = 0; i < ex.BytesUnknown.Length; i++)
				Assert.IsTrue (
					ex.BytesUnknown[i] == t.bytes[ex.Index + i],
					String.Format (
						"test#{0}-1: expected byte {1:X} not {2:X} at {3}.",
						testno,
						t.bytes[ex.Index + i],
						ex.BytesUnknown[i],
						ex.Index + i));
			dec.Reset ();
		}
	}
开发者ID:killabytenow,项目名称:mono-System.Text.UTF8Encoding-test,代码行数:47,代码来源:SomeTests.cs

示例5: FirstRead

        private void FirstRead(byte[] streamData, int readBytes, char[] characters)
        {
            Encoding encoding = selector.GetEncoding(streamData);
            decoder = encoding.GetDecoder();
            int theOffset = selector.ByteCount(encoding);

            int decoded = decoder.GetChars(streamData, theOffset, readBytes - theOffset , characters, 0);
            myCallbackDelegate(characters, decoded);
            currentRead = ReadFurther;
        }
开发者ID:BackupTheBerlios,项目名称:sexycodechecker-svn,代码行数:10,代码来源:Streams.cs

示例6: 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.GetChars方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。