Привет всем. Можно ли декодировать русский текст из Base64 c помощью элемента Charset?
------------ Дoбавленo в 15.32:
Если не там задал вопрос извиняюсь.
Этот топик читают: Гость
Ответов: 15
Рейтинг: 1
|
|||
карма: 1 |
| ||
Голосовали: | Vadimluk1 |
Ответов: 1926
Рейтинг: 172
|
|||
beorn_n, так попробуйте! Вот если не получится, можете писать здесь и спрашивать решение проблемы.
|
|||
карма: 9 |
|
Ответов: 15
Рейтинг: 1
|
|||
Если бы у меня получилось я бы не стал задавать вопрос. Английские слова декодируются нормально, русские неккоректно.
|
|||
карма: 1 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Оригинально. А где примеры некорректной работы вместе с тем текстом, который не декодируется
|
|||
карма: 22 |
|
Ответов: 100
Рейтинг: -1
|
|||
Ну так можно русский в URL а потом уже в BASE64
|
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
beorn_n писал(а): Английские слова декодируются нормально, русские некорректноА схему с ошибкой что, сложно выложить? |
|||
карма: 26 |
|
Ответов: 4628
Рейтинг: 749
|
|||
У меня нет слов. Я тут глянул на функции кодирования/декодирования Base64 - как можно строку размером в 500 кб обрабатывать 40 секунд на среднем компьютере (90 с. на слабом, 25 с. на мощном)?
В этом архиве - переработанные функции Base64 и демонстрация быстродействия. Тест выполняется до 3-х минут. Разница в скорости - не в десятки процентов, не в пару раз, а в 60 ТЫСЯЧ раз! Так писать код надо уметь. Там же есть функция Base64_CodeNew - пример как нужно было реализовать эту функцию изначально. Результаты тестов на слабом компьютере:
Если никаких возражений не будет - там же в архиве поправленный компонент Charset: - модифицированы функции преобразования строк - добавлены функции работы с произвольным буфером, а не только строками - добавлено событие onError (скрытая) - при декодировании Base64 выдаёт ошибку, если во входной строке обнаружены недопустимые символы или неправильная длина строки. В старом компоненте такие строки обрабатывались по-тихому, что не позволяло автору схемы быстро понять, что он подал на компонент неправильные данные. Можно и в остальные методы добавить контроль ошибок. Редактировалось 6 раз(а), последний 2016-12-01 15:54:16 |
|||
карма: 26 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Netspirit писал(а): - модифицированы функции преобразовани строк
- добавлены функции работы с произвольным буфером, а не только строками Это к чему относится, к Base64 или ко всему, я не нашел каких-либо изменений кода на методы, отличные от Base64. --- Добавлено в 2016-12-01 14:18:15 Netspirit писал(а): Результаты тестов на слабом компьютереЧе за комп хоть?. У меня тоже не i3-i7, но результат в два раза выше по всем параметрам. Редактировалось 1 раз(а), последний 2016-12-01 14:18:15 |
|||
карма: 22 |
|
Ответов: 4628
Рейтинг: 749
|
|||
nesco писал(а): Че за комп хоть?nesco писал(а): Это к чему относится, к Base64 или ко всемуКомментарии в коде не стоит удалять - HiAsm часто служит учебным пособием, и они бывают полезны. Редактировалось 2 раз(а), последний 2016-12-01 15:12:05 |
|||
карма: 26 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Добавил изменения.
|
|||
карма: 22 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Ну, быстрый! А я тут небольшую ошибочку нашел в функции Base64_Decode при недопустимом символе и перезалил архив. Выложи ещё раз hiCharset.pas.
Редактировалось 1 раз(а), последний 2016-12-01 15:27:52 |
|||
карма: 26 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Netspirit писал(а): Выложи ещё раз hiCharset.pasПерезалил |
|||
карма: 22 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Спасибо.
|
|||
карма: 26 |
|
Ответов: 233
Рейтинг: 12
|
|||
Добрый день! Помогите пожалуйста перевести картинку с диска в BASE64... че-то никак не пойму как это сделать
|
|||
карма: 2 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Iliya писал(а): Помогите пожалуйста перевести картинку с диска в BASE64... Схема
|
|||
карма: 22 |
| ||
Голосовали: | Iliya |