Почитайте про PDU, там такое было.
Переводит в win-1251, исходная строка состоит из 16-битных символов
(0411-0430-043B-0430-043D-0441-003A-0031-0033-0037-002C-0035-0030-0440-0020)
Код
if((0x410 <= new_char) && (new_char <= 0x044F))
{
str[j] = new_char - 0x0410 + 0xC0;
}
else if(new_char == 0x0401)
{
str[j] = 'Ё';
}
else if(new_char == 0x0451)
{
str[j] = 'ё';
}
else if(new_char < 128)
{
str[j] = new_char;
}
else
{
str[j] = '?';
}