Декодировать base64 string – php

Есть ли способ декодировать эту строку?

Фактическая строка: 其他 語言 測試 – тестирование

base64 кодировать при отправке по почте в качестве объекта, как

"=? Изо-2022-JP? В? GyRCQjZCPjhsOEBCLDtuGyhCIC0gdGVzdGluZw ==? ="

<?php echo base64_decode('GyRCQjZCPjhsOEBCLDtuGyhCIC0gdGVzdGluZw=='); ?> 

Это кодировка базы 64, я не мог ее декодировать на фактическую китайскую строку. Поскольку она была закодирована с использованием «iso-2022-jp», я также попытался использовать сайт base64decode.org для декодирования этой строки, но я не мог найти исходную строку, как я могу это сделать?

Solutions Collecting From Web of "Декодировать base64 string – php"

Использовать iconv() :

 <?php $input = base64_decode('GyRCQjZCPjhsOEBCLDtuGyhCIC0gdGVzdGluZw==');//$BB6B>8l8@B,;n(B - testing $input_encoding = 'iso-2022-jp'; echo iconv($input_encoding, 'UTF-8', $input); //其他語言測試 - testing ?> 

То, что вы ищете, – это кодировка заголовка MIME. Он может быть декодирован mb_decode_mimeheader() и сгенерирован mb_encode_mimeheader() . Например:

 <?php mb_internal_encoding("utf-8"); $subj = "=?iso-2022-jp?B?GyRCQjZCPjhsOEBCLDtuGyhCIC0gdGVzdGluZw==?="; print mb_decode_mimeheader($subj); ?>其他語言測試 - testing 

(Требование к mb_internal_encoding() необходимо здесь, потому что содержимое строки темы не может быть представлено во внутренней кодировке по умолчанию ISO8859-1.)

Попробуйте сначала кодировать строку в UTF-8, а затем закодировать ее до базы 64. То же самое при декодировании, декодировать строку из base64, а затем из UTF-8. Это работает на меня:

 php > $base = "其他語言測試 - testing"; php > $encoded = base64_encode(utf8_encode($base)); php > $decoded = utf8_decode(base64_decode($encoded)); php > echo ($decoded === $base) . "\n"; 1