Example #1
0
    public static void Main()
    {
        // Get an encoder and a decoder from UTF32Encoding.
        UTF32Encoding u32   = new UTF32Encoding(false, true, true);
        Encoder       myEnc = u32.GetEncoder();
        Decoder       myDec = u32.GetDecoder();

        // The characters to encode:
        //    Latin Small Letter Z (U+007A)
        //    Latin Small Letter A (U+0061)
        //    Combining Breve (U+0306)
        //    Latin Small Letter AE With Acute (U+01FD)
        //    Greek Small Letter Beta (U+03B2)
        char[] myChars = new char[5] {
            'z', 'a', '\u0306', '\u01FD', '\u03B2'
        };
        Console.Write("The original characters : ");
        Console.WriteLine(myChars);

        // Encode the character array.
        int iBC = myEnc.GetByteCount(myChars, 0, myChars.Length, true);

        byte[] myBytes = new byte[iBC];
        myEnc.GetBytes(myChars, 0, myChars.Length, myBytes, 0, true);

        // Print the resulting bytes.
        Console.Write("Using the encoder       : ");
        for (int i = 0; i < myBytes.Length; i++)
        {
            Console.Write("{0:X2} ", myBytes[i]);
        }
        Console.WriteLine();

        // Decode the byte array back into an array of characters.
        int iCC = myDec.GetCharCount(myBytes, 0, myBytes.Length, true);

        char[] myDecodedChars = new char[iCC];
        myDec.GetChars(myBytes, 0, myBytes.Length, myDecodedChars, 0, true);

        // Print the resulting characters.
        Console.Write("Using the decoder       : ");
        Console.WriteLine(myDecodedChars);
    }