INFO: Uitgebreide tekens verschillende onder Windows

BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.

De Engelstalige versie van dit artikel is de volgende: 83461
Vrijwaring inhoud KB-artikelen over niet langer ondersteunde producten
Dit artikel heeft betrekking op producten waarvoor Microsoft geen ondersteuning meer biedt. Daarom wordt dit artikel alleen in de huidige vorm aangeboden en wordt het niet meer bijgewerkt.
3,00 3.10WINDOWSkbprg
Samenvatting
Toepassingen in de Windows-omgeving moeten doorgaans omgaan met tweeandere tekensets: de ANSI (American normenTekenset Institute) en de OEM (original equipment manufacturer)tekenset. Daarentegen moeten van toepassingen in de MS-DOS-omgevingOmgaan met de OEM-tekenset. In dit artikel wordt beschreven hoeWindows behandelt de ANSI- en OEM-tekensets.

  • Wanneer u ALT + xxx gebruikt een teken van de OEM-tekenset opgeven instellen in een toepassing in de Windows-omgeving gebruikt de ANSI-tekenset in Windows wordt het teken weergegeven in de ANSI een tekenset die het meest overeenkomt met het ingevoerde teken.
  • Wanneer een teken uit de OEM-tekenset wordt ingevoerd in een bestand met een teksteditor onder MS-DOS en het bestand wordt weergegeven onder Windows, het teken van de ANSI-teken die de hetzelfde codenummer teken als de OEM-tekenset weergegeven.
Meer informatie

OEM- en ANSI, tekensets

MS-DOS gebruikt de OEM-tekenset. Deze tekenset varieert tussencomputers en afhankelijk van de codetabel ROM (read - only memory)door de fabrikant van de computer is geïnstalleerd. Bijvoorbeeld, persoonlijkecomputers die voor gebruik in de Verenigde Staten een teken gebruikenstelt genoemd codetabel 437, terwijl de computers die voor gebruik inPortugal codetabel 860 gebruiken. MS-DOS gebruikt de OEM-tekensettoepassingen en bestanden en de bestandsnamen te maken.

Voor het grootste deel ingedeeld volgens de ANSI lettertypen worden gebruikt door Windowstekenset (ANSI-set lettertypen, in dit artikel genoemd). Windows ooklettertypen met de dezelfde OEM-tekenset die gebruikmaakt van MS-DOS ondersteunt(de zogenaamde OEM-set lettertypen, in dit artikel).

32 Tot en met 127 posities zijn identiek in de ANSI- en OEMvoor de meeste code's (inclusief de codetabellen 437 850, tekensets852, 860 861 en 865). De overige tekens van de OEM-tekensetset (0 tot en met 31 en 128 en 255 van tekenposities) doenniet in de ANSI-tekenset of op een andere positie bestaatde ANSI-tekenset. Daarom bepaalde tekens in de OEMtekenset kan in Windows met behulp van een ANSI-lettertype worden weergegeven.Als een toepassing moet dergelijke tekens onder Windows een OEM - weergevenlettertype is vereist.

ANSI- en OEM-tekens typen in Windows

In de Windows-omgeving, een gebruiker kan invoeren elk teken in detekenset door ALT ingedrukt houden en typen 0xxx, waarbij 'xxx'is het decimale getal de positie van het gewenste teken in het lettertype.Bijvoorbeeld ALT + 0123 met een ANSI-lettertype gebruikt, wordt weergegeven de123rd teken in de ANSI-tekenset. Ook met een OEM-setlettertype in gebruik ALT + 0128 de 123rd teken weergeven in de OEMtekenset.

In de MS-DOS-omgeving kan een gebruiker een willekeurig teken in de OEM invoerenALT ingedrukt houden en typen xxx (geen voorloop-tekensetnul), waarbij 'xxx' is het aantal decimalen het gewenste tekenplaats in het lettertype.

Als een gebruiker een MS-DOS-OEM tekenset code (ALT + xxx) in eentoepassing voor Windows die een ANSI-lettertype gebruikt Windows converteertde OEM-set-teken het teken dat het meest overeenkomt inde ANSI-set. Deze conversie wordt geregeld door een toewijzingstabel die ismet Windows geïnstalleerd. Omdat sommige OEM-set tekens met positiesgroter dan 127 bestaan niet in de ANSI-teken ingesteld, het resultaat vande conversie in Windows kan afwijken van het teken in de OEMinstellen. De functie OemToAnsi dezelfde toewijzingstabel gebruikt voor het uitvoeren van detekenconversies.

Tijdens OEM bevat-tekenset codetabel 437 bijvoorbeeld een vierkant-hoofdmap symbool positie 251 ANSI-tekenset bevat nietDit teken. Dus wanneer de gebruiker een 251 ALT + in typen eenbesturingselement met de ANSI-tekenset, een onderstrepingstekenomdat Windows de tekenomzetting op deze manier definieert weergegeven.Een ander voorbeeld is de C-cedille-teken bestaat in zowel de ANSIteken ingesteld en de OEM-tekenset codetabel 437. DaaromALT + 128 een edit-besturingselement typt, maakt de gewenste C-cedilleteken. Merk op dat terwijl het teken in beide teken komtsets, haar positie verschilt in elke set in de OEM-tekenset (128set en 199 in ANSI). De alternatieve methode voor het aanvragen van een C-cedilletypen ALT + 0199, waarmee de positie van het teken in de ANSI-tekenset.

Een besturingselement waarin de stijl ES_OEMCONVERT en een keuzelijst met invoervak dat vakgebruikt de CBS_OEMCONVERT stijl hebben een ander gedrag van diehierboven beschreven. Deze twee stijlen leiden tot hun inhoud tekstomgezet in kleine letters naar hoofdletters, vervolgens uit deANSI ingesteld op de OEM en vervolgens terug naar de ANSI voor weergave.Dit is belangrijk voor een besturingselement waarin de gebruikerHiermee geeft u een bestandsnaam. Als de gebruiker tekens die niet bestaanverschillen in de onderliggende OEM-tekenset, de naam van het bestandde naam van de door de gebruiker opgegeven die verwarrend zou zijn. Omdatde tekens worden toegewezen aan tekens die in de OEM voorkomentekenset, de bestandsnaam opgegeven altijd overeenkomt met de bestandsnaamdaadwerkelijk gebruikt. De inhoud worden geconverteerd naar hoofdlettersomdat het is gebruikelijk in sommige talen te elimineren diakritischemerken als een teken in hoofdletters en doet de OEM-tekensetMet deze diakritische tekens bevatten.

Een tekenreeks met OEM-tekens weergeven

in een toepassing die gebruikmaakt van de ANSI-tekenset

Teksteditors onder MS-DOS wordt uitgevoerd, gebruiken de OEM-tekenset voorweergegeven en in de bestanden die ze maken. Wanneer een op Windows gebaseerde teksteditorlaadt een bestand dat de OEM-tekenset gebruikt de editor interpreteertde tekens op de ANSI-tekenset. Teken32 tot en met 127 posities worden niet onder de meeste codetabellen beïnvloedomdat de ANSI- en OEM-tekensets identiek zijntekens. Echter groter is dan 127 posities mogelijkanders weergegeven dan in de MS-DOS-teksteditor omdat deposities vertegenwoordigen verschillende tekens in de ANSItekenset.

De oplossing voor deze problemen is een op Windows gebaseerde teksteditor gebruikendie wordt gebruikt wanneer de tekst bevat tekens in ANSI-tekende OEM en ANSI teken ingesteld. Een op Windows gebaseerde editor accepteertANSI-tekens rechtstreeks en OEM-tekens te converteren demeest overeenkomende ANSI-tekens. De resulterende tekst bevat alleenANSI-tekens, die kunnen worden weergegeven door een toepassing wordt uitgevoerdonder de Windows-omgeving. Als een toepassing moet de OEM-set weergeventekens die niet in de ANSI-tekenset, maar moet een OEM-het lettertype instellen.

Bekijk het volgende voorbeeld: MS-DOS-teksteditor wordt gebruikt omresource-bestand van een toepassing op een systeem met OEM-tekenset bewerkencodetabel 437 geïnstalleerd. De gebruiker typt ALT + 129 als onderdeel van de statische tekst op een knop in het dialoogvenster de naam. Echter, wanneer het dialoogvensterwordt weergegeven, de tekst wordt niet zoals verwacht maar bevat een zwarteen rechthoek waar het teken dat u umlaut behoort. De zwarte rechthoekgebruikt om de posities die zijn gedefinieerd in de ANSI aan te geventekenset.

Oplossing voor dit probleem is het resource-bestand met eenWindows-gebaseerde teksteditor die gebruikmaakt van ANSI-teken ingesteld. TypenALT + 129 maakt een umlaut-u desgewenst omdat de editor wordtde OEM-set teken converteren naar de meest overeenkomende ANSI-setteken. In dit geval OEM set teken 129 toewijzingen naar ANSI - positiede tekenpositie 252 instellen. De alternatieve methode u umlaut opgevenis in de Windows-gebaseerde editor typen ALT + 0252, met de ANSIteken instellen rechtstreeks tekenpositie.

Een ander voorbeeld vereist een toepassing de symbool vierkantsworteldie niet bestaat in de ANSI-tekenset als onderdeel van een knoplabel. Uitgaande van de codetabel 437 is geïnstalleerd, en dat de resourcebestand onder Windows wordt bewerkt, ALT + 0251 invoeren in het knoplabel van deomdat de vierkantswortel symbool het 251st karakter van de OEM istekenset. Wanneer de toepassing wordt uitgevoerd, een WM_SETFONT-bericht verzendenhet besturingselement een OEM-lettertype opgeven. Een OEM-lettertype is altijdde functie GetStockObject via de index OEM_FIXED_FONT beschikbaar.

Voor meer informatie over codetabellen en tekensets onder Windowsquery op de volgende woorden in de Microsoft Knowledge Base:
Prod(winsdk) en code en pagina's en teken en sets
Voor een verwijzing naar een Windows-ontwikkelaar Opmerking over dit onderwerpquery op het volgende woord in de Microsoft Knowledge Base:
INTLAPPS
3,00 3.10 vouwen

Waarschuwing: dit artikel is automatisch vertaald

Eigenschappen

Artikel-id: 83461 - Laatst bijgewerkt: 06/11/2012 10:40:00 - Revisie: 4.0

Microsoft Windows Software Development Kit 3.1

  • kb16bitonly kbinfo kbinput kbkeyin kbmt KB83461 KbMtnl
Feedback