Я ищу кодировку строковой переменной для UTF-16LE и base64, проблема в том, что я ничего не знаю о том, как делать UTF-16LE в Delphi.Кодировать строковую переменную в UTF-16LE base64 с помощью Delphi
Пример в Python:
from base64 import b64encode
b64encode('my text'.encode('UTF-16LE'))
Пример в Ruby:
require "base64"
Base64.encode64('my text'.force_encoding('UTF-16LE'))
Как я могу сделать это в Delphi?
Обновлено:
procedure TFormTest.btnTestClick(Sender: TObject);
var
dest, src: TEncoding;
srcBytes, destBytes: TBytes;
Encoder: TIdEncoderMime;
begin
Encoder := TIdEncoderMime.Create(nil);
src := TEncoding.Unicode;
srcBytes := src.GetBytes(Edit1.Text);
Edit2.Text := Encoder.EncodeBytes(srcBytes);
FreeAndNil(Encoder);
end;
Создан действующий base64 UTF-16LE?
Powershell говорит мне, что недопустим
Команда для использования:
(New-Object System.Net.WebClient).DownloadFile('http://localhos/update_program.exe','updater.exe'); Start-Process 'updater.exe'
Ошибка выхода:
Missing expression after unary operator '-'.
В версиях Delphi 2009 и выше строки ** являются ** в UTF-16LE , Вам нужен метод для кодирования B64. Вероятно, вы можете найти что-то в одном из подразделений Indy. –
Delphi является малоподвижным, а UTF-16LE - по умолчанию для Delphi для строк. – kludg
'TEncoding.Unicode.GetBytes (str)' для кодирования как UTF-16LE. Затем используйте один из многих кодеров base64. Попробуйте некоторые веб-поиска. –