Форум 3DNews
Вернуться   Форум 3DNews > Программирование > Программирование

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 04.10.2005, 16:04   [включить плавающее окно]   #1
Andrey_981
Мужской Новенький
Автор темы
 
Регистрация: 20.01.2005
Адрес: Москва
Проблемы с кодировкой

Имеется строка:

Строка: "Ru Links - 0B0;>3 =B5@=5B-@5AC@A>2".

Непонятные символы - русские буквы.

А должно быть: "Ru Links - Каталог Интернет-ресурсов".

Вопрос:
Что это за непонятная кодировка?
Как ее можно перевести на русский?
Andrey_981 вне форума  
Ответить с цитированием
Непрочитано 04.10.2005, 23:56   [включить плавающее окно]   #2
Ant.ttk
Мужской Продвинутый
 
Аватар для Ant.ttk
 
Регистрация: 16.11.2004
Адрес: Троицк
Это ты где такое богатство получаешь?
__________________
Feel the force, motherf*ckers.
Ant.ttk вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 05.10.2005, 03:52   [включить плавающее окно]   #3
passer-by
Общительный
 
Регистрация: 16.12.2003
Andrey_981
Покажи не строчку, а дамп области памяти.
passer-by вне форума  
Ответить с цитированием
Непрочитано 05.10.2005, 09:40   [включить плавающее окно]   #4
groger
Мужской Интересующийся
 
Регистрация: 05.07.2005
Адрес: Троицк
Может легче не переводить самому в другую кодировку, а задать ее явно, чтоб система сама разбиралась?
__________________
Вчера с пальмы слез
groger вне форума  
Ответить с цитированием
Непрочитано 05.10.2005, 14:20   [включить плавающее окно]   #5
Andrey_981
Мужской Новенький
Автор темы
 
Регистрация: 20.01.2005
Адрес: Москва
Цитата (Ant.ttk) »
Это ты где такое богатство получаешь?
Пытаюсь получить с помощью своей программы (пишу на Delphi) заголовки страниц браузера Mozilla FireFox.
У остальных (Opera, Explorer) русский язык заголовка получается нормально читаемым.
Andrey_981 вне форума  
Ответить с цитированием
Непрочитано 05.10.2005, 15:37   [включить плавающее окно]   #6
Johnnie Walker
Опытный
 
Регистрация: 28.04.2004
Andrey_981, какая-нибудь заморочка с юникодом
Johnnie Walker вне форума  
Ответить с цитированием
Непрочитано 05.10.2005, 15:55   [включить плавающее окно]   #7
Ant.ttk
Мужской Продвинутый
 
Аватар для Ant.ttk
 
Регистрация: 16.11.2004
Адрес: Троицк
так все нормально читается, попробовал на своем файрфоксе:
Код:
#include <windows.h>

#define FindStr "Mozilla Firefox"

BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
{
	char lpFullCaption[256];
	PCHAR lpCaption;
	GetWindowTextA(hwnd,lpFullCaption,sizeof(lpFullCaption));
	lpCaption = strstr(lpFullCaption,FindStr);
	if (lpCaption)
	{
		MessageBox(0,lpFullCaption,0,0);
		return FALSE;
	}
	return TRUE;
}

void main(int argc , char **argv)
{
	EnumWindows(EnumWindowsProc,0);
}
возможно, я неправильно понял, может имеется ввиду не заголовок окна, поправь меня если что.
__________________
Feel the force, motherf*ckers.
Ant.ttk вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 05.10.2005, 16:00   [включить плавающее окно]   #8
CapOne
Мужской Умудрённый
 
Аватар для CapOne
 
Регистрация: 08.02.2003
Адрес: Новосибирск
похоже, что на 176 все байтики отстают
__________________
Гайдар и другие экономисты поступили очень просто: представили потребности общества в виде решётки, а затем её сплющили.
CapOne вне форума  
Ответить с цитированием
Непрочитано 05.10.2005, 16:05   [включить плавающее окно]   #9
Andrey_981
Мужской Новенький
Автор темы
 
Регистрация: 20.01.2005
Адрес: Москва
Цитата (CapOne) »
похоже, что на 176 все байтики отстают
И что с этим делать?
Andrey_981 вне форума  
Ответить с цитированием
Непрочитано 05.10.2005, 17:34   [включить плавающее окно]   #10
CapOne
Мужской Умудрённый
 
Аватар для CapOne
 
Регистрация: 08.02.2003
Адрес: Новосибирск
прибавить

а лучше написать что же у тебя все-таки за строка
__________________
Гайдар и другие экономисты поступили очень просто: представили потребности общества в виде решётки, а затем её сплющили.
CapOne вне форума  
Ответить с цитированием
Непрочитано 05.10.2005, 17:39   [включить плавающее окно]   #11
Ant.ttk
Мужской Продвинутый
 
Аватар для Ant.ttk
 
Регистрация: 16.11.2004
Адрес: Троицк
Цитата (CapOne) »
прибавить
боже упаси. источник проблемы ищите.
__________________
Feel the force, motherf*ckers.
Ant.ttk вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 05.10.2005, 22:53   [включить плавающее окно]   #12
Phodopus
Мужской Продвинутый
 
Регистрация: 05.10.2005
Адрес: Санкт-Петербург
Это один из Юникодов (или std или big endian)
перевод в Ansi - WideCharToMultiByte()

Phodopus добавил :

P.S. Конкретно для Дельфи - WideCharToString() что проще.. но дольше
Phodopus вне форума  
Ответить с цитированием
Непрочитано 06.10.2005, 10:50   [включить плавающее окно]   #13
Johnnie Walker
Опытный
 
Регистрация: 28.04.2004
Phodopus, достаточно просто присвоить WideString к String и будет конверсия
Johnnie Walker вне форума  
Ответить с цитированием
Непрочитано 06.10.2005, 15:11   [включить плавающее окно]   #14
Andrey_981
Мужской Новенький
Автор темы
 
Регистрация: 20.01.2005
Адрес: Москва
function WideStringToString(const ws: WideString; codePage: Word): AnsiString;
var
l: integer;
begin
if ws = '' then
Result := ''
else
begin
l := WideCharToMultiByte(codePage,
WC_COMPOSITECHECK or WC_DISCARDNS or WC_SEPCHARS or WC_DEFAULTCHAR,
@ws[1], -1, nil, 0, nil, nil);
SetLength(Result, l - 1);
if l > 1 then
WideCharToMultiByte(codePage,
WC_COMPOSITECHECK or WC_DISCARDNS or WC_SEPCHARS or WC_DEFAULTCHAR,
@ws[1], -1, @Result[1], l - 1, nil, nil);
end;
end;

codePage - кодовая страница.
Как правильно указать кодовую страницу Unicode?
Точнее, что писать вместо "codePage"?
Andrey_981 вне форума  
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 04:17. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey