/**
* $str 元の文字列
* $encoding 元の文字列のエンコーディング、デフォルトは GBK
* $prefix エンコードされたプレフィックス、デフォルトは「」
* $postfix エンコードされたサフィックス、デフォルトは ";" です
*/
function unicode_encode($str, $encoding = 'GBK', $prefix = '', $postfix = ';') {
$str = iconv($encoding, 'UCS-2', $str);
$arrstr = str_split($str, 2);
$unistr = '';
for($i = 0, $len = count($arrstr); $i
$dec = hexdec(bin2hex($arrstr[$i]));
$unistr .= $prefix . $postfix;
}
$unistr; を返します
}
/**
* $str Unicode でエンコードされた文字列
* $encoding 元の文字列のエンコーディング、デフォルトは GBK
* $prefix エンコードされた文字列のプレフィックス、デフォルトは「」です
* エンコードされた文字列の $postfix 接尾辞、デフォルトは ";" です
*/
function unicode_decode($unistr, $encoding = 'GBK', $prefix = '', $postfix = ';') {
$arruni =explode($prefix, $unistr);
$unistr = '';
for($i = 1, $len = count($arruni); $i
If (strlen($postfix) > 0) {
$arruni[$i] = substr($arruni[$i], 0, strlen($arruni[$i]) - strlen($postfix));
}
$temp = intval($arruni[$i]);
$unistr .= ($temp
}
return iconv('UCS-2', $encoding, $unistr);
}
|