PRB: Negative Zahlen sind als Unicode HTML Entitätsverweise nicht funktionsfähig.

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 272138 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Einige Funktionen, wie z. B. Microsoft Visual Basic (VB) und Visual Basic Script (VBScript) AscW -Funktion, möglicherweise geben eine negative Zahl zurück, wenn Sie den Unicode-Wert für ein nicht lateinischen Zeichen (z. B. Hanzi chinesische, japanische Kanji- oder koreanischen Hangul) Fragen. Wenn Sie diese negative Zahl als ein Verweis auf die HTML-Entität (& # verwenden Nnnn , wobei Nnnn entweder eine hexadezimal- oder Dezimalformat Unicode Zahl ist), finden Sie unter den Entitätsverweis als Literaltext anstelle des entsprechenden nicht lateinischen Zeichens.

Ursache

Unicode Zahlen belegen 16-Bit-positive Bereich zwischen 0 und 65.535 (0xffff) aus und können nicht negativ werden.

Lösung

Wenn AscW gibt eine negative Zahl zurück, wird die Ergänzungszahl Form die Zahl ergänzen. Konvertieren der Ergänzungszahl ergänzen Notation in normalen binären Schreibweise 0xFFF das Rückgabeergebnis hinzufügen. Ein Beispiel finden Sie unter dem Abschnitt "Weitere Informationen".

Weitere Informationen

Schritte zum Reproduzieren des Verhaltens

  1. Speichern Sie den folgenden HTML-Code in eine Datei mit dem Namen 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. Öffnen Sie diese Datei in Internet Explorer. Zweite Zeichenverweis wird als unformatierten Text und nicht als japanischen Zeichen "wechseln." angezeigt.
Um dieses Problem zu umgehen, ändern Sie den Skriptblock auf den folgenden:
function DecodeAscW(sOutput) 
	sAscVal = AscW(sOutput) 
	If sAscVal < 0 Then 	
		sAscVal = 65536 + sAscVal 
	End If
	DecodeAscW = sAscVal
end function

sub load()
	div1.innerHTML = "Actual character is &#35486; AscW output is &#" &  DecodeAscW(ChrW(35486))
end sub
				

Informationsquellen

Finden Sie weitere Informationen zum Entwickeln von webbasierten Lösungen für Microsoft Internet Explorer auf der folgenden Microsoft-Websites:
http://msdn.microsoft.com/ie/

http://support.microsoft.com/iep

Eigenschaften

Artikel-ID: 272138 - Geändert am: Sonntag, 9. Februar 2014 - Version: 3.0
Die Informationen in diesem Artikel beziehen sich auf:
  • 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
Keywords: 
kbnosurvey kbarchive kbmt kbdhtml kbintl kbintldev kbprb kbunicode KB272138 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 272138
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com