|
0 / 0 / 0
Регистрация: 12.03.2008
Сообщений: 21
|
|
Кодировка строки! (win, koi8, dos)13.03.2008, 08:29. Показов 6494. Ответов 10
Метки нет (Все метки)
Можно ли как-нить узнать в VB, в какой кодировке строка (win, koi8, dos), и затем изменить ее на виндовую (win-1251)
поискал в мсдне, есть токо одна функция strconv(), но она делает не то..
0
|
|
| 13.03.2008, 08:29 | |
|
Ответы с готовыми решениями:
10
Какие кодировки(win, koi8, dos, mac, iso) поддерживает RichEdit Таблица FoxPro,Dos<->Win кодировка и обнлвление Кодировка KOI8-R |
|
eddy
|
||||||
| 13.03.2008, 11:01 | ||||||
GetOEMCP() - то же, только OEM. |
||||||
|
0 / 0 / 0
Регистрация: 12.03.2008
Сообщений: 21
|
|
| 13.03.2008, 12:34 [ТС] | |
|
Спасибо за помощь!
но эти функции возвращают текущую кодировку системы, т.е. у мня кодировка виндовая, то и вернет getacp --> 1251 а как определить кодировку строки (переменной), а затем ее заправить под кодировку системы?
0
|
|
|
eddy
|
|
| 13.03.2008, 13:10 | |
|
Для кодировки под систему используются:
CharToOEM() или OEMToChar() (см. API) Как определить кодировку строки - не знаю. Успеха! |
|
|
eddy
|
|
| 13.03.2008, 13:11 | |
|
Для кодировки под систему используются:
CharToOEM() или OEMToChar() (см. API) Как определить кодировку строки - не знаю. Успеха! |
|
|
0 / 0 / 0
Регистрация: 12.03.2008
Сообщений: 21
|
|
| 17.03.2008, 06:26 [ТС] | |
|
видел на днях исходник написанный на сях, где сделана переделка из koi8 в win1251, наоборот и т.п.
делается там это ручками походу, т.к. в сях я не шарю.. [code] #include <stdio.h> #include <conio.h> #include <stdlib.h> void help(void) { puts('Конвертер кириллицы в DOS(CP866),Windows(CP1251) и КОИ-8'); puts('Формат запуска: CONVERT файл-источник файл-приемник РЕЖИМ'); puts('Режим может быть следующим:'); puts('dw - из DOSa в Windows'); puts('dk - из DOSa в КОИ-8'); puts('wd - из Windows в DOS'); puts('wk - из Windows в КОИ-8'); puts('kd - из КОИ-8 в DOS'); puts('kw - из КОИ-8 в Windows'); puts('в этих режим файл-приемник не обязателен'); puts('Также можно изменять код новой строки, свойственный UNIX и DOS(Windows)'); puts('ud - из UNIXa в DOS'); puts('du - из DOSa в UNIX'); puts('А в этих режимах файл-приемник необходим'); getch(); exit(255); } void main(int argc,char *argv[]) { FILE *in,*out; long i,t=0,m=0,j; char dw[]={'└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуф хцчшщъыьэюя###жжжжЦ=жж==Ц=ЦЦЦЦжЦжжж====ж =ж=Ц=ЦЦ==ЦжжЦЦ#####ЁёЄєЇїЎў°∙·√№¤■ и╕к║п┐бв░Х╖?╣дИа'}; char dk[]={'стўчфхЎ·щъыьэюяЁЄєЇїцшу■√¤ ∙°№рё┴┬╫╟─┼╓┌╔╩╦╠═╬╧╨РСТБЗ▓┤зж╡бионмГДЙИ ЖАКп░ле╗╕▒а╛╣║╢╖кйвд╜╝ЕВНМОПЛ╥╙╘╒╞╚├▐█▌▀ ┘╪▄└╤│гЩШУЫЯЧЬХЮЦ┐ЭФЪ'}; char wd[]={'??'? '.┼╪■%?<?????'' ' '--■T?>???? Ўў?¤?|ЁcЄ '┐-RЇ°?Ii?u·ё№є '???їАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабв гдежзийклмнопрстуфхцчшщъыьэюя'}; char wk[]={'??'? '.К╝Ф%?<?????'' ' '--ФT?>????ЪЯЧ?Э?|│cЩ 'Г-RУЬ?Ii?uЮг┐Ш '???ЫстўчфхЎ·щъыьэюяЁЄєЇїцшу■√¤ ∙°№рё┴┬╫╟─┼╓┌╔╩╦╠═╬╧╨╥╙╘╒╞╚├▐█▌▀┘╪▄ └╤'}; char kd[]={'─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓Ї■∙√ўєЄ ї°¤·Ў═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪
0
|
|
|
0 / 0 / 0
Регистрация: 16.02.2008
Сообщений: 17
|
|
| 17.03.2008, 12:11 | |
|
code
Option Explicit Enum Code Win = 1 Dos = 2 Koi = 3 Iso = 5 End Enum Function Recode(Char As String, Src As Code, Dest As Code) As String Const wDos As String = '°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦ ЧрЩЪЫЬЭЮЯтуфхцчшщсыьэюяШъЂЃ‚ѓ„…†‡?‰Љ‹ЊЌЋ Џђ‘’“”•–—?™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬®Їабвгдежзийклмноп' Const wIso As String = '°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦ ЧўЩЪЫЬЭЮЯтуфхцчшщсыьэюяШъ°±Ііґµ¶·ё№є»јЅѕ їАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеж зийклмноп' Const wKoi As String = 'ђ‘’Ѓ‡Іґ§¦µЎЁ®¬ѓ„‰?†ЂЉЇ°«Ґ»ё± ѕ№є¶·Є©ў¤Ѕі…‚ЌЊЋЏ‹™?“›џ—њћЈ–љќ”їј•бвчзде цъйклмнопртуфхжигюыэящшьасБВЧЗДЕЦЪЙКЛМНО ПРТУФХЖИГЮЫЭЯЩШЬАС' Const wWin As String = 'ЂЃ‚ѓ„…†‡?‰Љ‹ЊЌЋЏђ‘’“”•–—?™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИ ЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопр стуфхцчшщъыьэюя' Const NotRecodedChar As String = '?' If Src = Dest Then Recode = Char Exit Function End If Dim t As String, i As Long, tt As String, a As Long, ss As String, ch As String If Src = Win Then t = Char Else Select Case Src Case Koi: ss = wKoi Case Dos: ss = wDos Case Iso: ss = wIso End Select For i = 1 To Len(Char) ch = Mid(Char, i, 1) If Asc(ch) < 128 Then t = t & ch Else a = InStr(1, ss, ch, vbBinaryCompare) If a = 0 Then t = t & NotRecodedChar Else t = t & Mid$(wWin, a, 1) End If End If Next i End If If Dest = Win Then Recode = t Else Select Case Dest Case Koi: ss = wKoi Case Dos: ss = wDos Case Iso: ss = wIso End Select For i = 1 To Len(Char) ch = Mid(t, i, 1) If Asc(ch) < 128 Then tt = tt & ch Else a = InStr(1, wWin, ch, vbBinaryCompare) If a = 0 Then tt = tt & NotRecodedChar Else tt = tt & Mid$(ss, a, 1) End If End If Next i Recode = tt End If End Function code
0
|
|
|
0 / 0 / 0
Регистрация: 12.03.2008
Сообщений: 21
|
|
| 17.03.2008, 13:39 [ТС] | |
|
}{ай!
спасибо ОГРОМНОЕ за исходник... очень благодарен а если я не знаю исходной кодировки (, то мне перебором каким-нибудь подобным можно поковыряться в строке после перекодировки? че бы понять, прально ли я кодировку изменил или нет... ища 'кривые' символы...все это надо мне для следующего: я извлекаю с помощью функций WinInet API(раньше пытался с помощью Inet, но для юзания в длл он слишком кривоват, че-то не так отрабатывал, хотя в exe приложении все нормально работал), весь html по урлу, но так как текст не всегда в той кодировке, кот. надо, а надо виндовую, то приходиться извращаться.. кстати в заголовке http возвращается какая-нить инфа, в какой кодировке текст?
0
|
|
|
0 / 0 / 0
Регистрация: 16.02.2008
Сообщений: 17
|
|
| 17.03.2008, 19:31 | |
|
кодировка иногда указывается в заголовке
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
0
|
|
|
2 / 2 / 1
Регистрация: 30.07.2007
Сообщений: 206
|
|
| 17.03.2008, 22:25 | |
|
попробуй пример: 'Определить кодировку текста (Dos или Win)' на http://sharig.webzone.ru/category/work10_txt.htm#06
0
|
|
|
0 / 0 / 0
Регистрация: 12.03.2008
Сообщений: 21
|
|
| 18.03.2008, 09:12 [ТС] | |
|
вау...заработало..
в http хедере возвращается инфа в какой кодировке страница, от сюда вывод, мы просто ее определяем, либо instr либо через регулярные вырезаем, и затем рекодим если надо... за примеры спасибо..
0
|
|
| 18.03.2008, 09:12 | |
|
Помогаю со студенческими работами здесь
11
Кодировка koi8-r
Idhttp - Кодировка KOI8-R Кодировка koi8-r в питоне Сбилась кодировка файлов при переносе их с Win XP на Win 7 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|