php实现的一个UTF8编码转Unicode的函数

php中文网
发布: 2016-07-25 09:07:12
原创
1044人浏览过
  1. function utf8tounicode(strutf8)

  2. {
  3. var bstr = “”;
  4. var ntotalchars = strutf8.length; // total chars to be processed.
  5. var noffset = 0; // processing point on strutf8
  6. var nremainingbytes = ntotalchars; // how many bytes left to be converted
  7. var noutputposition = 0;
  8. var icode, icode1, icode2; // the value of the unicode.
  9. while (nOffset {

  10. iCode = strUtf8.charCodeAt(nOffset);
  11. if ((iCode & 0×80) == 0) // 1 byte.
  12. {
  13. if ( nRemainingBytes break;
  14. bstr += String.fromCharCode(iCode & 0×7F);

  15. nOffset ++;
  16. nRemainingBytes -= 1;
  17. }
  18. else if ((iCode & 0xE0) == 0xC0) // 2 bytes
  19. {
  20. iCode1 = strUtf8.charCodeAt(nOffset + 1);
  21. if ( nRemainingBytes (iCode1 & 0xC0) != 0×80 ) // invalid pattern
  22. {
  23. break;
  24. }
  25. bstr += String.fromCharCode(((iCode & 0×3F) nOffset += 2;

  26. nRemainingBytes -= 2;
  27. }
  28. else if ((iCode & 0xF0) == 0xE0) // 3 bytes
  29. {
  30. iCode1 = strUtf8.charCodeAt(nOffset + 1);
  31. iCode2 = strUtf8.charCodeAt(nOffset + 2);
  32. if ( nRemainingBytes (iCode1 & 0xC0) != 0×80 || // invalid pattern
  33. (iCode2 & 0xC0) != 0×80 )
  34. {
  35. break;
  36. }
  37. bstr += String.fromCharCode(((iCode & 0×0F) ((iCode1 & 0×3F) (iCode2 & 0×3F));

  38. nOffset += 3;
  39. nRemainingBytes -= 3;
  40. }
  41. else // 4 or more bytes — unsupported
  42. break;
  43. }

    立即学习PHP免费学习笔记(深入)”;

  44. if (nRemainingBytes != 0)

  45. {
  46. // bad UTF8 string.
  47. return “”;
  48. }
  49. return bstr;

  50. }
  51. ?>
复制代码


最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号