PDA

Показать полную графическую версию : WebBrowserPassView


panteleymon
02-03-2014, 00:29
Здравствуйте, друзья и товарищи!
В WebBrowserPassView вместо нормальных символов примерно такую вот штуку дает дутщмщ. То есть пароль на русском был введен. Не подскажете как его в нормальный человеческий вид привести?

Iska
02-03-2014, 15:56
Конкретно:
Option Explicit

WScript.Echo StrConvert("дутщмщ", "windows-1251", "utf-8")

WScript.Quit 0
'=============================================================================

'=============================================================================
' HKEY_CLASSES_ROOT\MIME\Database\Charset
' cp866, windows-1251, koi8-r, unicode, utf-8, _autodetect
'=============================================================================
Function StrConvert(ByVal strText, ByVal strSourceCharset, ByVal strDestCharset)
Const adTypeText = 2
Const adModeReadWrite = 3


With WScript.CreateObject("ADODB.Stream")
.Type = adTypeText
.Mode = adModeReadWrite

.Open

.Charset = strSourceCharset
.WriteText strText

.Position = 0
.Charset = strDestCharset
StrConvert = .ReadText

.Close
End With
End Function
'=============================================================================

Можно попробовать через буфер обмена:
Option Explicit

WScript.Echo StrConvert(WScript.CreateObject("HTMLFile").parentWindow.clipboardData.getData("text"), "windows-1251", "utf-8")

WScript.Quit 0
'=============================================================================

'=============================================================================
' HKEY_CLASSES_ROOT\MIME\Database\Charset
' cp866, windows-1251, koi8-r, unicode, utf-8, _autodetect
'=============================================================================
Function StrConvert(ByVal strText, ByVal strSourceCharset, ByVal strDestCharset)
Const adTypeText = 2
Const adModeReadWrite = 3


With WScript.CreateObject("ADODB.Stream")
.Type = adTypeText
.Mode = adModeReadWrite

.Open

.Charset = strSourceCharset
.WriteText strText

.Position = 0
.Charset = strDestCharset
StrConvert = .ReadText

.Close
End With
End Function
'=============================================================================

Сразу говорю, что способ доступа к буферу обмена работает далеко не везде и не всегда.

panteleymon
06-03-2014, 21:21
Iska,
Спасибо за отзывчивость, но я ничего не понял. Сделал через http://www.online-decoder.com/ru

Iska
06-03-2014, 22:10
Спасибо за отзывчивость, но я ничего не понял. »
Сохранить приведённый код в файл с расширением .vbs. В первом коде заменить выделенное на нужное:
такую вот штуку дает дутщмщ. »
(во втором коде ничего менять не надо, достаточно просто скопировать «штуку» в буфер обмена; к сожалению, второй код работает не всегда и не везде, на то есть первый код, где штуку надо прописать в коде «ручками»). Затем запустить полученный файл .vbs.

Сделал через http://www.online-decoder.com/ru »
Это нормально. Он делает то же самое, только ещё и с попыткой автоопределения кодировки.

P.S. Французский знаете?




© OSzone.net 2001-2012