【发布时间】:2015-12-06 15:14:27
【问题描述】:
假设我有俄语西里尔字母“журнал”的字符串,它具有以下十六进制代码:
d0 b6 d1 83 d1 80 d0 bd d0 b0 d0 bb
但是如何将这个十六进制代码转换回人类可读的西里尔字符串在 PHP 中?我查了很多资料,到目前为止都没有任何效果。
【问题讨论】:
假设我有俄语西里尔字母“журнал”的字符串,它具有以下十六进制代码:
d0 b6 d1 83 d1 80 d0 bd d0 b0 d0 bb
但是如何将这个十六进制代码转换回人类可读的西里尔字符串在 PHP 中?我查了很多资料,到目前为止都没有任何效果。
【问题讨论】:
你可以用这个:
function hex2str($hex) {
$str = '';
for($i = 0; $i < strlen($hex); $i += 2) {
$str .= chr(hexdec(substr($hex, $i, 2)));
}
return $str;
}
$string = preg_replace('/\s+/', '', 'd0 b6 d1 83 d1 80 d0 bd d0 b0 d0 bb');
echo hex2str($string);
【讨论】: