Encoding.Unicode Property
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Gets an encoding for the UTF-16 format using the little-endian byte order.
Assembly: mscorlib (in mscorlib.dll)
Property Value
Type: System.Text.EncodingA Encoding for the UTF-16 format using the little-endian byte order.
The following code example determines the number of bytes required to encode a character array, encodes the characters, and displays the resulting bytes.
using System; using System.Text; public class Example { private static System.Windows.Controls.TextBlock outputBlock; public static void Demo(System.Windows.Controls.TextBlock outBlock) { outputBlock = outBlock; // 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) // a high-surrogate value (U+D8FF) // a low-surrogate value (U+DCFF) char[] myChars = new char[] { 'z', 'a', '\u0306', '\u01FD', '\u03B2', '\uD8FF', '\uDCFF' }; // Get different encodings. Encoding u8 = Encoding.UTF8; Encoding u16LE = Encoding.Unicode; Encoding u16BE = Encoding.BigEndianUnicode; // Encode the entire array, and print out the counts and the resulting bytes. PrintCountsAndBytes(myChars, u8); PrintCountsAndBytes(myChars, u16LE); PrintCountsAndBytes(myChars, u16BE); } public static void PrintCountsAndBytes(char[] chars, Encoding enc) { // Display the name of the encoding used. outputBlock.Text += String.Format("{0,-30} :", enc.ToString()); // Display the exact byte count. int iBC = enc.GetByteCount(chars); outputBlock.Text += String.Format(" {0,-3}", iBC); // Display the maximum byte count. int iMBC = enc.GetMaxByteCount(chars.Length); outputBlock.Text += String.Format(" {0,-3} :", iMBC); // Encode the array of chars. byte[] bytes = enc.GetBytes(chars); // Display all the encoded bytes. PrintHexBytes(bytes); } public static void PrintHexBytes(byte[] bytes) { if ((bytes == null) || (bytes.Length == 0)) outputBlock.Text += "<none>" + "\n"; else { for (int i = 0; i < bytes.Length; i++) outputBlock.Text += String.Format("{0:X2} ", bytes[i]); outputBlock.Text += "\n"; } } } /* This code produces the following output. System.Text.UTF8Encoding : 12 24 :7A 61 CC 86 C7 BD CE B2 F1 8F B3 BF System.Text.UnicodeEncoding : 14 16 :7A 00 61 00 06 03 FD 01 B2 03 FF D8 FF DC System.Text.UnicodeEncoding : 14 16 :00 7A 00 61 03 06 01 FD 03 B2 D8 FF DC FF */
Show: