Refactorized convert(byte[], int, ...), now uses the pointer version.
Refactorized Convert(char[], int, ...) to use the pointer version.
Implemented method 'IsUnknownSurrogate()'.
removed index check because (1) it cannot be checked in this context and (2) it
only explains when a bad sequence started in the current or past buffer (in
this case it would take a negative value).
removed index check because (1) it cannot be checked in this context and (2) it
only explains when a bad sequence started in the current or past buffer (in
this case it would take a negative value).
Rewrite of core coder & decoder functions to fix several bugs and limitations, and improve error handling.
Merge remote-tracking branch 'upstream/master'
Disable BOM preamble in UTF8 by default (following best practices).
some minor code style changes
Merge branch 'master' of https://github.com/mono/mono
MS.NET implementation returns 1000 not 625.
bugfixed returned charsUsed counter
MS.NET implementation returns 1000 not 625.
Accept a null input/output buffer in InternalGetBytes()/InternalGetChars() if its length is zero.
Throw ArgumentException in GetBytes()/GetChars() if no enough output buffer space.
- improved flush handling in encoder/decoder for fixing regression bug #565129
- fixed some checks to satisfy test 'ConvertZeroCharacters'.
in test SufficientByteArray() when !NET_2_0 unexpected exceptions should be forwarded.
By default return an 'UTF8Unmarked' object.  Removed unused 'utf8EncodingWithMarkers' attribute.
Added counter mode in InternalGetBytes.
Added methods InternalGetBytesCount and InternalGetBytesEncode for improving readability.
Reverted all changes in 'System.Text/Encoding.cs' and disabled the emitIdentifier feature in the new 'System.Text/UTF8Encoding.cs'.
bugfix: accept zero-length input buffer in 'InternalGetChars' for building void strings.