Показать сообщение отдельно
Старый 08.07.2011, 14:15   #6
Asura
Модератор
 
Аватар для Asura
 
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,811
По умолчанию

Цитата:
Сообщение от Da_Don Посмотреть сообщение
Это кодированые файлы, содержащие русские тексты для других файлов генератора, лежат в папке Dgen
Теперь понял о чем ты... Это не юникод, это что то другое. Вот процедурка конвертации на C.

Код:
char *convertRu(char *WinTxt)
{
	static char OlegTxt[16384],tmpstr[2];
	char c;
	strcpy(OlegTxt,"");
    while (c=*WinTxt++) {
		if (strlen(OlegTxt)>16384)
			break;
		switch (c) {
		case 'А':
			strcat(OlegTxt,"\\u0410");
			break;
		case 'Б':
			strcat(OlegTxt,"\\u0411");
			break;
		case 'В':
			strcat(OlegTxt,"\\u0412");
			break;
		case 'Г':
			strcat(OlegTxt,"\\u0413");
			break;
		case 'Д':
			strcat(OlegTxt,"\\u0414");
			break;
		case 'Е':
			strcat(OlegTxt,"\\u0415");
			break;
		case 'Ё':
			strcat(OlegTxt,"\\u0401");
			break;
		case 'Ж':
			strcat(OlegTxt,"\\u0416");
			break;
		case 'З':
			strcat(OlegTxt,"\\u0417");
			break;
		case 'И':
			strcat(OlegTxt,"\\u0418");
			break;
		case 'Й':
			strcat(OlegTxt,"\\u0419");
			break;
		case 'К':
			strcat(OlegTxt,"\\u041A");
			break;
		case 'Л':
			strcat(OlegTxt,"\\u041B");
			break;
		case 'М':
			strcat(OlegTxt,"\\u041C");
			break;
		case 'Н':
			strcat(OlegTxt,"\\u041D");
			break;
		case 'О':
			strcat(OlegTxt,"\\u041E");
			break;
		case 'П':
			strcat(OlegTxt,"\\u041F");
			break;
		case 'Р':
			strcat(OlegTxt,"\\u0420");
			break;
		case 'С':
			strcat(OlegTxt,"\\u0421");
			break;
		case 'Т':
			strcat(OlegTxt,"\\u0422");
			break;
		case 'У':
			strcat(OlegTxt,"\\u0423");
			break;
		case 'Ф':
			strcat(OlegTxt,"\\u0424");
			break;
		case 'Х':
			strcat(OlegTxt,"\\u0425");
			break;
		case 'Ц':
			strcat(OlegTxt,"\\u0426");
			break;
		case 'Ч':
			strcat(OlegTxt,"\\u0427");
			break;
		case 'Ш':
			strcat(OlegTxt,"\\u0428");
			break;
		case 'Щ':
			strcat(OlegTxt,"\\u0429");
			break;
		case 'Ъ':
			strcat(OlegTxt,"\\u042A");
			break;
		case 'Ы':
			strcat(OlegTxt,"\\u042B");
			break;
		case 'Ь':
			strcat(OlegTxt,"\\u042C");
			break;
		case 'Э':
			strcat(OlegTxt,"\\u042D");
			break;
		case 'Ю':
			strcat(OlegTxt,"\\u042E");
			break;
		case 'Я':
			strcat(OlegTxt,"\\u042F");
			break;
		case 'а':
			strcat(OlegTxt,"\\u0430");
			break;
		case 'б':
			strcat(OlegTxt,"\\u0431");
			break;
		case 'в':
			strcat(OlegTxt,"\\u0432");
			break;
		case 'г':
			strcat(OlegTxt,"\\u0433");
			break;
		case 'д':
			strcat(OlegTxt,"\\u0434");
			break;
		case 'е':
			strcat(OlegTxt,"\\u0435");
			break;
		case 'ё':
			strcat(OlegTxt,"\\u0451");
			break;
		case 'ж':
			strcat(OlegTxt,"\\u0436");
			break;
		case 'з':
			strcat(OlegTxt,"\\u0437");
			break;
		case 'и':
			strcat(OlegTxt,"\\u0438");
			break;
		case 'й':
			strcat(OlegTxt,"\\u0439");
			break;
		case 'к':
			strcat(OlegTxt,"\\u043A");
			break;
		case 'л':
			strcat(OlegTxt,"\\u043B");
			break;
		case 'м':
			strcat(OlegTxt,"\\u043C");
			break;
		case 'н':
			strcat(OlegTxt,"\\u043D");
			break;
		case 'о':
			strcat(OlegTxt,"\\u043E");
			break;
		case 'п':
			strcat(OlegTxt,"\\u043F");
			break;
		case 'р':
			strcat(OlegTxt,"\\u0440");
			break;
		case 'с':
			strcat(OlegTxt,"\\u0441");
			break;
		case 'т':
			strcat(OlegTxt,"\\u0442");
			break;
		case 'у':
			strcat(OlegTxt,"\\u0443");
			break;
		case 'ф':
			strcat(OlegTxt,"\\u0444");
			break;
		case 'х':
			strcat(OlegTxt,"\\u0445");
			break;
		case 'ц':
			strcat(OlegTxt,"\\u0446");
			break;
		case 'ч':
			strcat(OlegTxt,"\\u0447");
			break;
		case 'ш':
			strcat(OlegTxt,"\\u0448");
			break;
		case 'щ':
			strcat(OlegTxt,"\\u0449");
			break;
		case 'ъ':
			strcat(OlegTxt,"\\u044A");
			break;
		case 'ы':
			strcat(OlegTxt,"\\u044B");
			break;
		case 'ь':
			strcat(OlegTxt,"\\u044C");
			break;
		case 'э':
			strcat(OlegTxt,"\\u044D");
			break;
		case 'ю':
			strcat(OlegTxt,"\\u044E");
			break;
		case 'я':
			strcat(OlegTxt,"\\u044F");
			break;
		default:
			sprintf(tmpstr,"%c",c);
			strcat(OlegTxt,tmpstr);
		};
	};
	return OlegTxt;
};
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.

© В. Высоцкий
__________________

Asura вне форума   Ответить с цитированием