Я пытаюсь кодировать строки в base64 с помощью схемы UTF-16.
Для тестирования я использую этот онлайн-инструмент, который отлично работает, но он мне нужен в php-коде:
https://8gwifi.org/Base64Functions.jsp
Настройка конфигурации на:
Кодировать — схема UTF-16
В этот момент я попробовал это:
$str = '/v8AVABoAGkAcwAgAGkAcwAgAGEAbgAgAGUAbgBjAG8AZABlAGQAIABzAHQAcgBpAG4AZw==';
$str = base64_decode($str);
$str = iconv("UTF-16", "ISO-8859-1", $str);
echo $str.PHP_EOL.PHP_EOL;
//$str = 'This is an encoded string';
$str = iconv("ISO-8859-1", "UTF-16", $str);
$str = base64_encode($str);
echo $str;
Первое преобразование работает хорошо. Принимает закодированную строку, правильно декодирует, все ок.
Но обратное преобразование выводит это:
//5UAGgAaQBzACAAaQBzACAAYQBuACAAZQBuAGMAbwBkAGUAZAAgAHMAdAByAGkAbgBnAA==
Ведьма уже не та.
Большое спасибо.
/ $ str = ‘Это закодированная строка’;
шифрование и дешифрование работает нормально без какой-либо внешней поддержки в версии php
7.2.5
Пожалуйста, попробуй
Других решений пока нет …