3v4l.org

run code in 300+ PHP versions simultaneously
<?php $encodings = [ 'BASE64', 'HTML-ENTITIES', 'Quoted-Printable', 'UTF-16', 'UTF-16BE', 'UTF-16LE', 'UTF-7', 'UTF7-IMAP', 'JIS', 'ISO-2022-JP', 'ISO-2022-JP-MS', 'GB18030', 'HZ', 'ISO-2022-KR', 'ISO-2022-JP-2004', 'ISO-2022-JP-MOBILE#KDDI', 'CP50220', 'CP50221', 'CP50222', ]; $input = '宛如繁星般宛如皎月般'; $bytes_length = 15; foreach($encodings as $encoding) { $converted_str = mb_convert_encoding($input, $encoding, mb_internal_encoding()); $cut_str = mb_strcut($converted_str, 0, $bytes_length, $encoding); $reconverted_str = mb_convert_encoding($cut_str, mb_internal_encoding(), $encoding); echo $encoding.': '.$reconverted_str.PHP_EOL; } echo PHP_EOL; $input = '星のように月のように'; $bytes_length = 20; foreach($encodings as $encoding) { $converted_str = mb_convert_encoding($input, $encoding, mb_internal_encoding()); $cut_str = mb_strcut($converted_str, 0, $bytes_length, $encoding); $reconverted_str = mb_convert_encoding($cut_str, mb_internal_encoding(), $encoding); echo $encoding.': '.$reconverted_str.PHP_EOL; } echo PHP_EOL; $input = 'あaいb'; $bytes_length = 10; foreach($encodings as $encoding) { $converted_str = mb_convert_encoding($input, $encoding, mb_internal_encoding()); $cut_str = mb_strcut($converted_str, 0, $bytes_length, $encoding); $reconverted_str = mb_convert_encoding($cut_str, mb_internal_encoding(), $encoding); echo $encoding.': '.$reconverted_str.PHP_EOL; } echo PHP_EOL; $input = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'; $bytes_length = 10; foreach($encodings as $encoding) { $converted_str = mb_convert_encoding($input, $encoding, mb_internal_encoding()); $cut_str = mb_strcut($converted_str, 0, $bytes_length, $encoding); $reconverted_str = mb_convert_encoding($cut_str, mb_internal_encoding(), $encoding); echo $encoding.': '.$reconverted_str.PHP_EOL; }

preferences:
77.13 ms | 406 KiB | 5 Q