Freigeben über


execution_character_set pragma

Gibt den Ausführungszeichensatz an, der für Zeichenfolgen- und Zeichenliterale verwendet wird. Diese Direktive ist für Literale, die mit dem u8 Präfix gekennzeichnet sind, nicht erforderlich.

Syntax

#pragma execution_character_set( "target" )

Parameter

target
Gibt den Zeichensatz für die Zielausführung an. Derzeit wird "utf-8"der einzige unterstützte Zielausführungssatz unterstützt.

Hinweise

Diese Compilerdirektive ist in Visual Studio 2015 Update 2 und höher veraltet. Es wird empfohlen, die /execution-charset:utf-8 Optionen oder /utf-8 Compileroptionen zusammen mit dem u8 Präfix für schmale Zeichen und Zeichenfolgenliterale zu verwenden, die erweiterte Zeichen enthalten. Weitere Informationen zum u8 Präfix finden Sie unter Zeichenfolgen- und Zeichenliterale. Weitere Informationen zu den Compileroptionen finden Sie unter (Set execution character set) und (Set source and execution character sets to UTF-8).For more information about the compiler options, see (Set execution character set) and (Set source and execution character sets to UTF-8).For more information about the compiler options, see /execution-charset (Set execution character set) and /utf-8 (Set source and execution character sets to UTF-8).For more information about the

Die #pragma execution_character_set("utf-8") Direktive weist den Compiler an, schmale Zeichen und schmale Zeichenfolgenliterale im Quellcode als UTF-8 in der ausführbaren Datei zu codieren. Diese Ausgabecodierung ist unabhängig davon, wie die Quelldatei codiert wird.

Wenn der Compiler schmale Zeichen und schmale Zeichenfolgen codiert, verwendet er standardmäßig die aktuelle Codeseite als Ausführungszeichensatz. Unicode- oder DBCS-Zeichen außerhalb des Bereichs der aktuellen Codeseite werden in das Standardersetzungszeichen in der Ausgabe konvertiert. Unicode- und DBCS-Zeichen werden auf ihr Byte mit niedriger Reihenfolge abgeschnitten, was fast nie beabsichtigt ist. Verwenden Sie ein u8 Präfix, um die UTF-8-Codierung für Literale in der Quelldatei anzugeben. Der Compiler übergibt diese UTF-8-codierten Zeichenfolgen unverändert an die Ausgabe. Schmale Zeichenliterale, die durch u8 ein Byte präfixiert werden, müssen in ein Byte passen, oder sie werden bei der Ausgabe abgeschnitten.

Standardmäßig verwendet Visual Studio die aktuelle Codeseite als Quellzeichensatz, der zum Interpretieren des Quellcodes für die Ausgabe verwendet wird. Wenn eine Datei gelesen wird, interpretiert Visual Studio sie gemäß der aktuellen Codeseite, es sei denn, die Datei hat einen Codepagesatz. Oder, es sei denn, eine Bytereihenfolgemarke (BOM) oder UTF-16 Zeichen werden am Anfang der Datei erkannt. Sie können UTF-8 nicht als aktuelle Codeseite in einigen Versionen von Windows festlegen. Wenn die automatische Erkennung UTF-8-codierte Quelldateien ohne BOM in diesen Versionen findet, geht Visual Studio davon aus, dass sie auf der aktuellen Codeseite codiert sind. Zeichen in der Quelldatei, die sich außerhalb des Bereichs der angegebenen oder automatisch erkannten Codeseite befinden, können Compilerwarnungen und Fehler verursachen.

Siehe auch

Pragma-Direktiven und die schlüsselwörter __pragma und _Pragma
/execution-charset (Festlegen des Ausführungszeichensatzes)
/utf-8 (Quelle und ausführbare Zeichensätze auf UTF-8 festlegen)