本文整理汇总了C#中System.Text.Encoder.Reset方法的典型用法代码示例。如果您正苦于以下问题:C# Encoder.Reset方法的具体用法?C# Encoder.Reset怎么用?C# Encoder.Reset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Text.Encoder
的用法示例。
在下文中一共展示了Encoder.Reset方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EncoderFallbackExceptions_GetBytes
// try to encode some bytes at once with GetBytes
private void EncoderFallbackExceptions_GetBytes (
byte [] bytes,
int testno,
Encoder enc,
EncoderFallbackExceptionTest t)
{
try {
enc.GetBytes (
t.str.ToCharArray (), 0, t.str.Length,
bytes, 0, true);
Assert.IsTrue (
t.eindex.Length == 0,
String.Format (
"test#{0}-1: UNEXPECTED SUCCESS",
testno));
} catch(EncoderFallbackException 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.IsUnknownSurrogate (),
String.Format (
"test#{0}-1: Expected false not {1} in IsUnknownSurrogate().",
testno,
ex.IsUnknownSurrogate ()));
// NOTE: I know that in the previous check we
// have asserted that ex.IsUnknownSurrogate()
// is always false, but this does not mean that
// we don't have to take in consideration its
// real value for the next check.
if (ex.IsUnknownSurrogate ())
Assert.IsTrue (
ex.CharUnknownHigh == t.str[ex.Index]
&& ex.CharUnknownLow == t.str[ex.Index + 1],
String.Format (
"test#{0}-1: expected ({1:X}, {2:X}) not ({3:X}, {4:X}).",
testno,
t.str[ex.Index],
t.str[ex.Index + 1],
ex.CharUnknownHigh,
ex.CharUnknownLow));
else
Assert.IsTrue (
ex.CharUnknown == t.str[ex.Index],
String.Format (
"test#{0}-1: expected ({1:X}) not ({2:X}).",
testno,
t.str[ex.Index],
ex.CharUnknown));
enc.Reset ();
}
}
示例2: EncoderFallbackExceptions_Convert
private void EncoderFallbackExceptions_Convert (
byte [] bytes,
int testno,
Encoder enc,
EncoderFallbackExceptionTest t,
int block_size)
{
int charsUsed, bytesUsed;
bool completed;
int ce = 0; // current exception
for (int c = 0; c < t.str.Length; ) {
//Console.WriteLine ("test#{0}-2-{1}: c={2}", testno, block_size, c);
try {
int bu = c + block_size > t.str.Length
? t.str.Length - c
: block_size;
enc.Convert (
t.str.ToCharArray (), c, bu,
bytes, 0, bytes.Length,
c + bu >= t.str.Length,
out charsUsed, out bytesUsed,
out completed);
c += charsUsed;
} catch (EncoderFallbackException ex) {
//Console.WriteLine (
// "test#{0}-2-{1}#{2}: Exception (Index={3}, UnknownSurrogate={4})",
// testno, block_size, ce,
// ex.Index, ex.IsUnknownSurrogate ());
Assert.IsTrue (
ce < t.eindex.Length,
String.Format (
"test#{0}-2-{1}#{2}: UNEXPECTED EXCEPTION (Index={3}, UnknownSurrogate={4})",
testno, block_size, ce,
ex.Index,
ex.IsUnknownSurrogate ()));
Assert.IsTrue (
ex.Index + c == t.eindex[ce],
String.Format (
"test#{0}-2-{1}#{2}: Expected exception at {3} not {4}.",
testno, block_size, ce,
t.eindex[ce],
ex.Index + c));
Assert.IsTrue (
!ex.IsUnknownSurrogate (),
String.Format (
"test#{0}-2-{1}#{2}: Expected false not {3} in IsUnknownSurrogate().",
testno, block_size, ce,
ex.IsUnknownSurrogate ()));
if (ex.IsUnknownSurrogate ()) {
Assert.IsTrue (
ex.CharUnknownHigh == t.str[ex.Index + c]
&& ex.CharUnknownLow == t.str[ex.Index + c + 1],
String.Format (
"test#{0}-2-{1}#{2}: expected ({3:X}, {4:X}) not ({5:X}, {6:X}).",
testno, block_size, ce,
t.str[ex.Index + c], t.str[ex.Index + c + 1],
ex.CharUnknownHigh, ex.CharUnknownLow));
c += ex.Index + 2;
} else {
Assert.IsTrue (
ex.CharUnknown == t.str[ex.Index + c],
String.Format (
"test#{0}-2-{1}#{2}: expected ({3:X}) not ({4:X}).",
testno, block_size, ce,
t.str[ex.Index + c],
ex.CharUnknown));
c += ex.Index + 1;
}
enc.Reset ();
ce++;
}
}
Assert.IsTrue (
ce == t.eindex.Length,
String.Format (
"test#{0}-2-{1}: UNEXPECTED SUCCESS (expected {2} exceptions, but happened {3})",
testno, block_size, t.eindex.Length, ce));
}