php ascii转unicode
2022-03-24 PHP 1833
class Coder { public static function ascii2unicode($c) { $len = strlen($c); $a = 0; $ascill = ''; while ($a < $len) { $ud = 0; if (ord($c{$a}) >= 0 && ord($c{$a}) <= 127) { $ud = ord($c{$a}); $a += 1; } else if (ord($c{$a}) >= 192 && ord($c{$a}) <= 223) { $ud = (ord($c{$a}) - 192) * 64 + (ord($c{$a + 1}) - 128); $a += 2; } else if (ord($c{$a}) >= 224 && ord($c{$a}) <= 239) { $ud = (ord($c{$a}) - 224) * 4096 + (ord($c{$a + 1}) - 128) * 64 + (ord($c{$a + 2}) - 128); $a += 3; } else if (ord($c{$a}) >= 240 && ord($c{$a}) <= 247) { $ud = (ord($c{$a}) - 240) * 262144 + (ord($c{$a + 1}) - 128) * 4096 + (ord($c{$a + 2}) - 128) * 64 + (ord($c{$a + 3}) - 128); $a += 4; } else if (ord($c{$a}) >= 248 && ord($c{$a}) <= 251) { $ud = (ord($c{$a}) - 248) * 16777216 + (ord($c{$a + 1}) - 128) * 262144 + (ord($c{$a + 2}) - 128) * 4096 + (ord($c{$a + 3}) - 128) * 64 + (ord($c{$a + 4}) - 128); $a += 5; } else if (ord($c{$a}) >= 252 && ord($c{$a}) <= 253) { $ud = (ord($c{$a}) - 252) * 1073741824 + (ord($c{$a + 1}) - 128) * 16777216 + (ord($c{$a + 2}) - 128) * 262144 + (ord($c{$a + 3}) - 128) * 4096 + (ord($c{$a + 4}) - 128) * 64 + (ord($c{$a + 5}) - 128); $a += 6; } else if (ord($c{$a}) >= 254 && ord($c{$a}) <= 255) { //error $ud = false; } $ascill .= "&#$ud;"; } return $ascill; } }
很赞哦! (0)
相关文章
文章评论
-
-
-
0条评论