ホームページ  >  記事  >  バックエンド開発  >  php Unicodeデコードツール(Unicodeエンコードコンバーター)

php Unicodeデコードツール(Unicodeエンコードコンバーター)

WBOY
WBOYオリジナル
2016-07-25 08:55:161544ブラウズ
  1. //Unicodeエンコードとデコードの変換
  2. function unicode_encode($name)
  3. {
  4. $name = iconv('UTF-8', 'UCS-2', $name);
  5. $ len = strlen($name);
  6. $str = '';
  7. for ($i = 0; $i < $len - 1; $i = $i + 2)
  8. {
  9. $c = $name[$ i ];
  10. $c2 = $name[$i + 1];
  11. if (ord($c) > 0)
  12. { //2 バイトのテキスト
  13. $str .= 'u'.base_convert(ord( $ c), 10, 16).str_pad(base_convert(ord($c2), 10, 16), 2, 0, STR_PAD_LEFT);
  14. }
  15. else
  16. {
  17. $str .= $c2;
  18. }
  19. }
  20. return $str;
  21. }
  22. //UNICODE エンコードされたコンテンツをデコードします
  23. function unicode_decode($name)
  24. { // bbs.it-home.org
  25. //エンコードを変換し、Unicode エンコードをブラウザ可能な utf -8 エンコードに変換します
  26. $pattern = '/([w]+)|(\u([w]{4}))/i';
  27. preg_match_all($pattern, $name, $matches);
  28. if (!empty ($matches))
  29. {
  30. $name = '';
  31. for ($j = 0; $j {
  32. $str = $matches[0][ $j];
  33. if ( strpos($str, '\u') === 0)
  34. {
  35. $code = Base_convert(substr($str, 2, 2), 16, 10);
  36. $code2 = Base_convert (substr($str, 4 ), 16, 10);
  37. $c = chr($code).chr($code2);
  38. $c = iconv('UCS-2', 'UTF-8', $c );
  39. $name .= $c;
  40. }
  41. else
  42. {
  43. $name .= $str;
  44. }
  45. }
  46. }
  47. return $name;
  48. }
コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。