Конвертация Текста VB 6

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
u3er
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 04.05.2013 (Сб) 21:50

Конвертация Текста VB 6

Сообщение u3er » 11.05.2013 (Сб) 20:51

Люди Поомгите Вот Код



Есть программа получения сообщений но когда пишу на русском привет приходит сообщение ?@825B а когда на английском то все хорошо!

Есть приложение получение сообщений так вот
Когда приходит сообщение пишет ?@825B вместо привет на латинской раскладке все нормально отображается а этот не декодирует
Помогите уже замучался вот код

Вот код что изменить чтобы Hex ?@825B сразу переводил в привет в этом коде.
Private Function dword2str(data As Long) As String
Dim i As Byte
dword2str = hex2str(Hex(data))
For i = 1 To 4
If Len(dword2str) < 4 Then dword2str = Chr$(0) & dword2str
Next i
End Function


Спасибо надеюсь на помощь

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Конвертация Текста VB 6

Сообщение alibek » 11.05.2013 (Сб) 21:12

Тебе уже дали ссылку. Читай Джоэля.
Lasciate ogni speranza, voi ch'entrate.

u3er
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 04.05.2013 (Сб) 21:50

Re: Конвертация Текста VB 6

Сообщение u3er » 11.05.2013 (Сб) 21:32

alibek писал(а):Тебе уже дали ссылку. Читай Джоэля.


Каким образом мне это должно помочь в написании кода ? Бред! Нет бы помочь с кодом одно пустое литье у вас тут и и сам могу в википедии читать а толку то ? Для этого и форум чтобы помогать в программировании а не тупо ссылки бросать!
Одними ссылками отмазываетесь и нихера ничего не знаете! К чему тогда форум ?

Такая мелочь для вас тьфю должна быть а вы как....,!

HiSER
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 88
Зарегистрирован: 04.07.2007 (Ср) 18:17

Re: Конвертация Текста VB 6

Сообщение HiSER » 11.05.2013 (Сб) 22:00

Тебе уже объяснили что сообщение приходит в Unicode, ссылку для прочтения дали.
Тебе только осталось от конвертировать в win1251 даже той же функцией SrcConv или WinAPI или еще как...
Изучать все это тебе лень может ещё за тебя код написать?

u3er
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 04.05.2013 (Сб) 21:50

Re: Конвертация Текста VB 6

Сообщение u3er » 11.05.2013 (Сб) 22:03

HiSER писал(а):Тебе уже объяснили что сообщение приходит в Unicode, ссылку для прочтения дали.
Тебе только осталось от конвертировать в win1251 даже той же функцией SrcConv или WinAPI или еще как...
Изучать все это тебе лень может ещё за тебя код написать?


Читать нравоучения легко а помочь слабо! Я код дал! Его лишь стоить подправить!
Никто писать не заставляет!
Суда и обращаются чтобы помогли! А не читали мораль!
Учить я и сам могу! Но на это времени нет! Прошу лишь строчку поправить и то дерзите! Обидно! Учить из-за мелочи весь язык от сих до сих я не собираюсь! Абсурд! Видимо вам проце мораль читать а не код подправить! Причем! Очень мелкий!
Если не знает нах тогда форум ? раздающий ссылки на вики ?

HiSER
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 88
Зарегистрирован: 04.07.2007 (Ср) 18:17

Re: Конвертация Текста VB 6

Сообщение HiSER » 11.05.2013 (Сб) 22:10

u3er писал(а):Читать нравоучения легко а помочь слабо!

Помощь уже оказана.
u3er писал(а):Я код дал!

Если ты про функцию dword2str, то это мягко говоря байда какая-то.

u3er
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 04.05.2013 (Сб) 21:50

Re: Конвертация Текста VB 6

Сообщение u3er » 11.05.2013 (Сб) 22:13

HiSER писал(а):
u3er писал(а):Читать нравоучения легко а помочь слабо!

Помощь уже оказана.
u3er писал(а):Я код дал!

Если ты про функцию dword2str, то это мягко говоря байда какая-то.


У меня тупо в text не отображает принятый русский текст привет вместо него выводит ?@825B на латинском все отлично! Знаю что мелочь какая то но я не профессиональный программист поэтому и прошу помощи


Тогда есть где нить код у вас на форуме который это ?@825B переведет в привет?

HiSER
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 88
Зарегистрирован: 04.07.2007 (Ср) 18:17

Re: Конвертация Текста VB 6

Сообщение HiSER » 11.05.2013 (Сб) 22:17

Читать все же ты не хочешь!
Тебе раз 10 уже сказали конвертируй Unicode в win1251!
Перечитай сообщения несколько раз, может научишься внимательности...

u3er
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 04.05.2013 (Сб) 21:50

Re: Конвертация Текста VB 6

Сообщение u3er » 11.05.2013 (Сб) 22:22

HiSER писал(а):Читать все же ты не хочешь!
Тебе раз 10 уже сказали конвертируй Unicode в win1251!
Перечитай сообщения несколько раз, может научишься внимательности...



вы че тут совсем ?? ЭТО HEX!!!!! ЭТО НЕ ЮНИКОД! НУ ВЫ ДАЕТЕ!

HiSER
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 88
Зарегистрирован: 04.07.2007 (Ср) 18:17

Re: Конвертация Текста VB 6

Сообщение HiSER » 11.05.2013 (Сб) 22:26

Изображение

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 11.05.2013 (Сб) 22:34

HiSER писал(а):Если ты про функцию dword2str, то это мягко говоря байда какая-то.

Вот именно...

u3er писал(а):Тогда есть где нить код у вас на форуме который это ?@825B переведет в привет?

Блин. ?@825B - это 6 символов. привет - это 6 символов. И как же ты хочешь однозначно привести одни 6 символов к другим 6 символам.
Как вариант, то что ты приводишь (все 6 символов) кодирует один из символов сллова "привет". Но ты ведь этого не говоришь! И не говоришь, какой!

u3er писал(а):вы че тут совсем ?? ЭТО HEX!!!!! ЭТО НЕ ЮНИКОД! НУ ВЫ ДАЕТЕ!

И что же по-твоему дают 4 символа hex-кода? Это 2 байта, значит юникод в одной из его разновибностей!

u3er
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 04.05.2013 (Сб) 21:50

Re: Конвертация Текста VB 6

Сообщение u3er » 11.05.2013 (Сб) 22:45

Qwertiy писал(а):Ура! Вышла новая версия Unreal Commnder'а!
Изображение
Qwertiy писал(а):И что же по-твоему дают 4 символа hex-кода? Это 2 байта, значит юникод в одной из его разновибностей!



Вы бы решение дали а не учили! :) У вас есть готовый код из unicode в русский ? Почему то я пробовал ничего не переводится!

Даже онлайн КОНВЕРТЫРЫ НЕ ПЕРЕВОДЯТ ЭТУ ЕРЕСЬ ?@825B в привет!

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 11.05.2013 (Сб) 22:54

u3er писал(а):Даже онлайн КОНВЕРТЫРЫ НЕ ПЕРЕВОДЯТ ЭТУ ЕРЕСЬ ?@825B в привет!

Я тебе уже сказал, что перевести это в то, что тебе надо невозможно. Либо ты даёшь не всю строку, либо она уже повреждена кодом, который обрабатывает её до вывода.
Для того, чтобы тебе вообще можно было помочь, нужно чтобы ты как минимум представил приходящие бинарные данные.
Да, кстати.. Если это отправляется твоей программой, то строка может быть повреждена и до отправки.

u3er
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 04.05.2013 (Сб) 21:50

Re: Конвертация Текста VB 6

Сообщение u3er » 11.05.2013 (Сб) 23:02

Qwertiy писал(а):Я тебе уже сказал, что перевести это в то, что тебе надо невозможно. Либо ты даёшь не всю строку, либо она уже повреждена кодом, который обрабатывает её до вывода.
Для того, чтобы тебе вообще можно было помочь, нужно чтобы ты как минимум представил приходящие бинарные данные.
Да, кстати.. Если это отправляется твоей программой, то строка может быть повреждена и до отправки.



Нет Я отправляю с телефона ICQ на латинском все отображается на русском вот такое приходит вот и все попусту информация не так выводится как надо
Почему ТОГДА НА ЛАТИНСКОМ ВСЕ РАБОТАЕТ?????

HiSER
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 88
Зарегистрирован: 04.07.2007 (Ср) 18:17

Re: Конвертация Текста VB 6

Сообщение HiSER » 11.05.2013 (Сб) 23:13

Посмотри таблицу win1251 и Unicode и сразу все поймешь почему латиница печатается. У Unicode размер символа 16 бит, а win1251 8 бит. Старший байт символа ты вырезаешь, по этому и получается "?@825B".

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 11.05.2013 (Сб) 23:15

u3er писал(а):Почему ТОГДА НА ЛАТИНСКОМ ВСЕ РАБОТАЕТ?????

Потому что в каком-то месте обработка символов с кодами более 127 неверная. После того, как данные были повреждены, восстановить исходные уже невозможно. Надо искать и исправлять тот кусок кода, который их повреждает.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 71

    TopList