PRB: بالأعداد الصحيحة السالبة لا تعمل كما مراجع الوحدة HTML Unicode

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

272138
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الأعراض
قد على بعض الدالات، مثل الدالة Microsoft Visual Basic (VB) برنامج Visual Basic (VBScript) AscW بإرجاع رقم سالب عند المطالبة قيمة Unicode للحرف اللاتيني غير (مثل Hanzi الصينية أو الكانجي اليابانية أو الكورية هانغولية). عند استخدام هذا الرقم السالبة كـ مرجع الوحدة HTML (& #nnnn ، حيث nnnn الرقم إما الست عشري أو عشري Unicode) ، راجع مرجع الوحدة كـ نص حرفي بدلاً من الأحرف اللاتينية غير المطابقة.
السبب
أرقام Unicode ليشغل نطاق موجبة 16-بت من 0 إلى 65535 (0xFFFF) ولا يمكن أن تكون سالبة.
الحل
عندما ترجع AscW رقم سالب ، فإنها ترجع مكملة أزواج النموذج من هذا الرقم. لتحويل مكملة أزواج منهج في التعليق الثنائي العادي إضافة 0xFFF إلى نتيجة الإرجاع. على سبيل المثال، راجع قسم "مزيد من المعلومات".
معلومات أخرى

خطوات إعادة إنشاء السلوك

  1. حفظ تعليمات HTML البرمجية التالية إلى ملف يسمى TestAscW.htm:
    <HTML><HEAD><TITLE>PRB: Negative Integers Do Not Work as Unicode HTML Entity  References</TITLE></HEAD><SCRIPT language="VBScript">// The character used below is the Japanese character "go" (8A9E in //Unicode).sub load()	div1.innerHTML = "Actual character is &#35486; & AscW output is &#" & AscW(ChrW(35486))end sub</SCRIPT><BODY language="VBScript" onload="load()"><DIV id="div1"></DIV></BODY></HTML>					
  2. فتح هذا الملف في برنامج Internet Explorer. يتم عرض مرجع الحرف الثاني كنص raw و لا كحرف اليابانية "انتقال".
كمحاولة للتغلب على هذه المشكلة بتغيير كتلة البرنامج النصي التالي:
function DecodeAscW(sOutput) 	sAscVal = AscW(sOutput) 	If sAscVal < 0 Then 			sAscVal = 65536 + sAscVal 	End If	DecodeAscW = sAscValend functionsub load()	div1.innerHTML = "Actual character is &#35486; AscW output is &#" &  DecodeAscW(ChrW(35486))end sub				
مراجع
للحصول على مزيد من المعلومات حول تطوير الحلول المستندة إلى ويب لبرنامج Microsoft Internet Explorer، قم بزيارة مواقع Microsoft التالية على الويب:
Unicode الدالة ChrW AscW

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 272138 - آخر مراجعة: 02/13/2014 10:11:52 - المراجعة: 3.0

  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer (Programming) 5.01 SP1
  • Microsoft Internet Explorer 5.5
  • kbnosurvey kbarchive kbmt kbdhtml kbintl kbintldev kbprb kbunicode KB272138 KbMtar
تعليقات