Кстати, а как в винде и шарпе живут с таким недоюникодом?
Библиотечная процедура читающая текстовый юникодный файл возвращает 4-байтовый int
namespace System.IO
{
public class StreamReader: TextReader
{
//
// Summary:
// Reads the next character from the input stream and advances the character
// position by one character.
//
// Returns:
// The next character from the input stream represented as an System.Int32 object,
// or -1 if no more characters are available.
//
// Exceptions:
// System.IO.IOException:
// An I/O error occurs.
public override int Read ();Хочешь сужай полученный int в 2-байтовый char, а не хочешь - не сужай (работай врукопашную с массивами int), дело-то хозяйское.
А вообще конечно ни для кого не секрет, что 2-байтовый char (
при > 50'000 одном лишь Японском алфавите) это англосаксонские империалистические происки, это даже у Таненбаума в "Архитектура компьютера" написано.