В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Проблема: Отрицательные целые числа работают как ссылки на объект HTML Юникода

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:272138
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.
Проблема
Некоторые функции, такие как Microsoft Visual Basic (VB) и сценария Visual Basic (VBScript)AscWфункции, могут возвращать отрицательное число, при запросе значение символа (латиница) (например, Hanzi китайского языка, кандзи (японский) или корейский хангыль) в кодировке Юникод. При использовании этого отрицательного числа как ссылки на сущность HTML (& #nnnnгдеnnnnявляется шестнадцатеричном или десятичном формате Юникод номер либо), ссылка на сущность отображается как обычный текст, вместо того, где соответствующий знак (латиница).
Причина
Номера Юникода занимают 16-разрядные положительный диапазон от 0 до 65535 (0xFFFF) и не может быть отрицательным.
Решение
ПриAscWВозвращает отрицательное число, возвращается twos дополняют это число. Для преобразования twos дополняют нотации в обычном двоичном обозначении добавить 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. Вторая ссылка на символы отображаются как обычный текст, а не как японских символов "Перейти".
Чтобы обойти эту проблему, измените блок сценария следующий:
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 посетите следующий веб-узлов корпорации Майкрософт:
AscW ChrW Юникода

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 272138 — последний просмотр: 11/21/2010 12:51:00 — редакция: 3.0

Microsoft Internet Explorer 4.01 Service Pack 1

  • kbdhtml kbintl kbintldev kbprb kbunicode kbmt KB272138 KbMtru
Отзывы и предложения
[0].appendChild(m);