Что нового

Encoding UDF - Библиотека для работы с кодировками строк

Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 473
Репутация
2 403
Решил предложить данную библиотеку разработчикам, чтобы включили её в стандартный набор.
Переписал её под стандарты, но есть пару нюансов...

* Как должна работать функция конвертирования в URI (URLToHex), в некоторых местах замечал что точки и там всякого рода знаки пунктуации не конвертируются, но иногда это нужно, как быть?
* Какой лучше всего оставить метод для Base64?
* Как правильно назвать функции *JavaUnicode*?
* Стоит ли использовать в функциях внешние ресурсы, типа ScriptControl, онлайн конвертация?

Пока всё :smile:.
 

rafzak

Новичок
Сообщения
25
Репутация
1
Помогите пожалуйста с конвертацией строк такого типа:
Код:
data/Справочник.ВнутренниеДокументы?ref=be3a2c768a4f457411e94c7e8c9770ed
Сам запилил:
Код:
Func _Encoding_CP1252ToUTF8($sString)
$binstr = StringToBinary($sString, 4)
$binstr = StringReplace($binstr, "E282AC", "C280")
$binstr = StringReplace($binstr, "E2809A", "C282")
$binstr = StringReplace($binstr, "C692", "C283")
$binstr = StringReplace($binstr, "E2809E", "C284")
$binstr = StringReplace($binstr, "E280A6", "C285")
$binstr = StringReplace($binstr, "E280A0", "C286")
$binstr = StringReplace($binstr, "E280A1", "C287")
$binstr = StringReplace($binstr, "CB86", "C288")
$binstr = StringReplace($binstr, "E280B0", "C289")
$binstr = StringReplace($binstr, "C5A0", "C28A")
$binstr = StringReplace($binstr, "E280B9", "C28B")
$binstr = StringReplace($binstr, "C592", "C28C")
$binstr = StringReplace($binstr, "C5BD", "C28E")
$binstr = StringReplace($binstr, "E28098", "C291")
$binstr = StringReplace($binstr, "E28099", "C292")
$binstr = StringReplace($binstr, "E2809C", "C293")
$binstr = StringReplace($binstr, "E2809D", "C294")
$binstr = StringReplace($binstr, "E280A2", "C295")
$binstr = StringReplace($binstr, "E28093", "C296")
$binstr = StringReplace($binstr, "E28094", "C297")
$binstr = StringReplace($binstr, "CB9C", "C298")
$binstr = StringReplace($binstr, "E284A2", "C299")
$binstr = StringReplace($binstr, "C5A1", "C29A")
$binstr = StringReplace($binstr, "E280BA", "C29B")
$binstr = StringReplace($binstr, "C593", "C29C")
$binstr = StringReplace($binstr, "C5BE", "C29E")
$binstr = StringReplace($binstr, "C5B8", "C29F")
$binstr =  BinaryToString($binstr,4)
$binstr = StringToASCIIArray($binstr, 0, Default, 0)
$sResult = StringFromASCIIArray($binstr,0,default,2)
	Return $sResult
EndFunc ;==>_Encoding_CP1252ToUTF8
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 473
Репутация
2 403
Интересно, можно же наверное как то написать функцию для автоматического определения кодировки, и конвертация в соответствующую?
Вот тут это успешно работает...
 

Norm

Новичок
Сообщения
76
Репутация
1
Есть ли у кого этот Encoding UDF
В шапке темы при переходе по ссылке попадаю на главную страницу форума

Заранее благодарю
 

modnik

Знающий
Сообщения
138
Репутация
13
Всем привет!

Использую _Encoding_URIDecode, всё работает отлично x32
Однако если запускаю скрипт через #AutoIt3Wrapper_UseX64, то декод перестаёт работать?
Можно ли как то пофиксить?( использую в скритпе библиотеки, которые работают только х32)
 

Ciber SLasH

Новичок
Сообщения
12
Репутация
0
Не работает _Encoding_GetFileEncoding на UTF8 без BOM.
Exit(_Encoding_GetFileEncoding($CmdLine[1])) возвращает 0 на таком файле:
 

Вложения

Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 473
Репутация
2 403
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 473
Репутация
2 403
А вообще уже давно есть встроенная FileGetEncoding.
 

Sulfur

Новичок
Сообщения
1
Репутация
0
не подскажете, я в консоль ConsoleWrite вывожу названия кнопок в систем трее и выводится абракадабра на WIN-1251.
Например "Áåçîïàñíîñòü Windows - Òðåáóþòñÿ äåéñòâèÿ."
Как-то ее можно в кириллицу перекодировать?
Или консоль SciTE в принципе кириллицу не выводит?
Я все функции перепробовал, не нашел нужной.
console.JPG
Сообщение автоматически объединено:

помогло вот это http://autoit-script.ru/threads/konsol-zabyla-russkij-jazyk.20955/post-146791
 
Последнее редактирование:
Верх