public static void Main() {
Console.WriteLine(value);
int byteCount = Encoding.UTF8.GetByteCount(value);
Console.WriteLine("try pack {0} chars into {1} bytes", value.Length, byteCount);
bytes1 = new Byte[byteCount];
bytes2 = new Byte[byteCount];
bytes12 = new Byte[byteCount];
int bytesEncodedCount1 = Encoding.UTF8.GetBytes(value, 0, 1, bytes1, 0);
int bytesEncodedCount2 = Encoding.UTF8.GetBytes(value, 1, 1, bytes2, 0);
int bytesEncodedCount12 = Encoding.UTF8.GetBytes(value, 0, 2, bytes12, 0);
Console.Write("Encoded bytes1 ({0}): ", bytesEncodedCount1);
foreach (Byte b in bytes1) {
Console.Write("[{0}]", b);
Console.Write("Encoded bytes2 ({0}): ", bytesEncodedCount2);
foreach (Byte b in bytes2) {
Console.Write("[{0}]", b);
Console.Write("Encoded bytes12 ({0}): ", bytesEncodedCount12);
foreach (Byte b in bytes12) {
Console.Write("[{0}]", b);