Rumah > pembangunan bahagian belakang > tutorial php > php实现的一个UTF8编码转Unicode的函数

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

WBOY
Lepaskan: 2016-07-25 09:07:12
asal
812 orang telah melayarinya
  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. }
  44. if (nRemainingBytes != 0)

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

  50. }
  51. ?>
复制代码


sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan