将编码的ASCII字符串转换为原始字符以存储在MySQL表中

时间:2014-12-05 11:12:22

标签: php html utf-8

我需要转换多个字符串,例如=E2=86=92成PHP中的原始字符。这些字符串来自通过IMAP检索的电子邮件正文。

1 个答案:

答案 0 :(得分:2)

您需要提取表示单个字节的各个序列,并将十六进制数转换为一个字节。

正则表达式可用于提取= XX序列,hexdec()函数可将十六进制字符串序列转换为整数,chr()函数可将整数转换为字节。 / p>

$inputString = '=E2=86=92';

$binaryString = preg_replace_callback('/=[A-F0-9]{2}/', function($match) {
    return chr(hexdec($match[0]));
}, $inputString);

http://3v4l.org/4MWiq