powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Кодировка Unicode приходит в прогу на VB6
7 сообщений из 7, страница 1 из 1
Кодировка Unicode приходит в прогу на VB6
    #39017099
Nic2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
От сервера в таком виде:
"Неверные логин или пароль!"

Подскажите, пожалуйста, как написать функцию, конвертирующую такую строку в читаемую?
Заранее спасибо.
...
Рейтинг: 0 / 0
Кодировка Unicode приходит в прогу на VB6
    #39017130
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nic2014,

Есть 2 варианта.

Простой: подключить библиотеку от Microsoft Script Control, внутри неё создать функцию или обёртку на js, и с ней уже работать. Примерчик:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Public Function getJavaScriptString(ByVal Text As String) As String
    Dim sc As Object
    Set sc = CreateObject("MSScriptControl.ScriptControl")
    
    sc.Language = "jscript"
    sc.AddCode "var str = """ & Text & """;"
    
    getJavaScriptString = sc.Eval("str")
End Function

Private Sub Form_Load()
    MsgBox getJavaScriptString("Неверные логин или пароль!")
End Sub



Правильный: По-символьно сканировать всю строку, если символы идут "\u", то если следующие 4 символа идут подряд, это будет шестнадцатеричным число символа в Unicode. Создать массив/коллекцию с сопоставлением символа из кирилицы с этим числом (в качестве ключа). И декодировать всё
...
Рейтинг: 0 / 0
Кодировка Unicode приходит в прогу на VB6
    #39017249
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VSVLAD, а почему через ScriptControl не совсем правильно?
Можно кстати без AddCode и сделать объект статическим, чтобы не создавать каждый раз:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Public Function getJavaScriptString(ByVal Text As String) As String
Static sc As Object
  If sc Is Nothing Then
    Set sc = CreateObject("MSScriptControl.ScriptControl")
    sc.Language = "jscript"
  End If
  getJavaScriptString = sc.eval("""" & Text & """")
End Function

Private Sub Form_Load()
    MsgBox getJavaScriptString("Неверные логин или пароль!")
End Sub
...
Рейтинг: 0 / 0
Кодировка Unicode приходит в прогу на VB6
    #39017293
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Казанский,

Он не то, чтобы "неправильный", но зависимые компоненты не хочется иметь, особенно если для данной задачи можно написать свою функцию конвертации
...
Рейтинг: 0 / 0
Кодировка Unicode приходит в прогу на VB6
    #39017309
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор Dim sc As Object
Set sc = CreateObject("MSScriptControl.ScriptControl")

за такое вообще надо руки отрывать..
...
Рейтинг: 0 / 0
Кодировка Unicode приходит в прогу на VB6
    #39017321
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt,

Сделано для того, чтобы автор мог "копи-паст-выполнить", по факту я описал, что нужно "подключить" в референсах
...
Рейтинг: 0 / 0
Кодировка Unicode приходит в прогу на VB6
    #39017322
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Казанский, + если сервер имеет 100% доверие, то можно использовать. Т.к. Eval без проверок, потенциальная угроза
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Кодировка Unicode приходит в прогу на VB6
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]