//
// Copyright (c) 2002
// Ronald Kevin Burton
//
// Z poniższym kodem nie jest związana żadna gwarancja poprawności działania.
// Program został dołączony do książki ".NET CLR. Księga eksperta" w celu
// ilustracji koncepcji i zasad przedstawionych w tej książce. Program może być 
// używany na własne ryzyko.
//
// Przyznaje się prawo do użycia lub kopiowania tego oprogramowania do dowolnego celu
// bez konieczności ponoszenia żadnych opłat pod warunkiem, że powyższe uwagi zostaną 
// zachowane we wszystkich kopiach. Przyznaje się także prawo do modyfikacji kodu
// i dystrybucji zmodyfikowanego kodu pod warunkiem zachowania powyższych uwag
// oraz dołączenia informacji mówiącej o modyfikacji kodu.
//
//
using System;
using System.Text;

namespace FrameworkLibraries
{
	public class EncodingMain 
	{
		static void Main(string [] args)
		{
			string japanese = "„?äŚÖÉś?ó„?ß„?ô„?čÔľü";
			string chinese = "šĹ†Ś•ĹŚźóÔľü";
			string english = "How are you?";
			byte [] encoded;
			UTF8Encoding encoding = new UTF8Encoding();
			Console.WriteLine("Strona kodowa: {0}", encoding.CodePage);
			Console.WriteLine("Nazwa kodowania: {0}", encoding.EncodingName);
			Console.WriteLine("Strona kodowa Windows: {0}", encoding.WindowsCodePage);
			encoded = encoding.GetBytes(japanese);
			Console.WriteLine("Zakodowany japoński: {0} <-> {1}", japanese.Length, encoded.Length);
			encoded = encoding.GetBytes(chinese);
			Console.WriteLine("Zakodowany chiński: {0} <-> {1}", chinese.Length, encoded.Length);
			encoded = encoding.GetBytes(english);
			Console.WriteLine("Zakodowany angielski: {0} <-> {1}", english.Length, encoded.Length);
		}
	}
}