Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2009, 12:04   #1
enRai
 
Регистрация: 22.07.2009
Сообщений: 6
По умолчанию

Подскажите пожалуйста алгоритм перекодировки Windows-1251 в UTF-8, или код на Си. Сторонний софт или dll не подойдут, нужно все организовать внутри программы. Ну или если кто предложит решение или код для MapBasic'а, то будет вообще прекрасно!

Нашел:

Код:
function win2utf(str as string) as string

	dim i, ii as integer, out_str, i_chr as string

	out_str = ""

	ii = len(str)

	for i=1 to ii
		i_chr=mid$(str, i, 1)
		if asc(i_chr)>=192 and asc(i_chr)<=239 then out_str = out_str + chr$(208) + chr$(asc(i_chr)-48) end if
   		if  asc(i_chr)>=240 and asc(i_chr)<=255 then out_str = out_str + chr$(209) + chr$(asc(i_chr)-112) end if
   		if i_chr="Ё" then out_str = out_str + chr$(208) + chr$(149)end if
   		if i_chr = "ё" then out_str = out_str + chr$(208) + chr$(181) end if
   		if i_chr = "Ъ" then out_str = out_str +chr$(208) + chr$(172) end if
   		if i_chr = "Ь" then out_str = out_str + chr$(208) + chr$(170) end if
   		if i_chr = "ъ" then out_str = out_str + chr$(208) + chr$(140) end if
   		if i_chr = "ь" then out_str = out_str + chr$(208) + chr$(138) end if
 		if asc(i_chr) < 192 then out_str = out_str + i_chr end if
	next

	win2utf = out_str

end function

Последний раз редактировалось Stilet; 03.08.2009 в 11:34.
enRai вне форума Ответить с цитированием
Старый 01.08.2009, 16:27   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

А мне кажется это перевод из ANSI в ASCII. Или мне одному кажется?
psycho-coder вне форума Ответить с цитированием
Старый 01.08.2009, 22:33   #3
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Вот эти посмотрите:
Цитата:
Эти пользовал, вроде должны подойти
UTF8Decode()
UTF8Encode()
Цитата:
Utf8ToAnsi()
AnsiToUtf8()
Utf8ToUnicode()
UnicodeToUtf8()
Alter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ansi в UTF-8 и наоборот UTF-8 в Ansi Alar Работа с сетью в Delphi 3 09.12.2010 17:02
UTF-8 alex171069 Общие вопросы C/C++ 1 18.05.2009 11:57
кодировка UTF-8 nimf Общие вопросы Delphi 4 18.01.2009 19:25
UTF-8 кодировка OrdJONY Общие вопросы Delphi 2 23.03.2008 16:56