在PHP中,将中文文本转换为Unicode编码格式的最简单方法是使用mb_convert_encoding
函数,将文本从UTF-8编码转换为UTF-16LE编码,然后将UTF-16LE编码的结果进行处理
$chineseText = "验证码已过期或不正确"; // 要转换的中文文本 $utf16Text = mb_convert_encoding($chineseText, 'UTF-16LE', 'UTF-8'); $unicodeText = ''; for ($i = 0; $i < strlen($utf16Text); $i += 2) { $unicodeText .= '\u' . bin2hex($utf16Text[$i + 1] . $utf16Text[$i]); }
dd($unicodeText);
测试结果为:\u9a8c\u8bc1\u7801\u5df2\u8fc7\u671f\u6216\u4e0d\u6b63\u786e
如何解密呢:
$jsonText = '"' . $unicodeText . '"';
$decodedText = json_decode($jsonText,true);
dd($decodedText);
解密结果为:验证码已过期或不正确