Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Martin recently asked what the best way to roll his own encoding in .Net 2.0, in particular can you override Encoding/Encoder/Decoder, or should he write his own StreamWriter.
#1 is, of course, to use Unicode :), but apparently Martin doesn't have that option.
The answer is that you can write your own Encoding derived from the Encoding class and use it as any of the built-in Encodings. They'll be a little slower in some cases due to some shortcuts we take internally, but otherwise you should be able to use them everywhere you use a normal Encoding/Encoder/Decoder object.
There's an example of using the fallbacks at https://windowssdk.msdn.microsoft.com/en-us/library/tt6z1500.aspx, which isn't quite the same thing, but might help a little.
[updated 12 Oct 2006]
I've stuck an example of overriding encodings in this post: Example of overriding your own Encoding.
- Shawn
Comments
Anonymous
October 03, 2006
Hi Shawn, I'll be very happy to see some Own Encoding example here. Regards, Ivan.Anonymous
October 12, 2006
Previously I wrote about the Best Way to Make Your Own Encoding , but didn't include an example, so todayAnonymous
May 19, 2007
Warning: what is being described in this post is documented but is not supported. Please keep this mindAnonymous
May 20, 2011
my encoding #@$#%^&&&$#%#&#^^&^%$####@@#$#@%$@#@#~!@~!~@%^**((&^%^$* and 1111111111010000000000010001010101001010101010Anonymous
September 22, 2012
I made an encoding once that mapped bytes 0-255 to Unicode code points 0-255 (yes I know 0 is not an allowed Unicode code point). The purpose was a converter that would round-trip binary data into string objects. Funny, the 0 Unicode code oint didn't break any core .NET libraries.