std::codecvt_mode
Aus cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Defined in header <locale>
|
||
| enum codecvt_mode { consume_header = 4, |
||
Die Facetten std::codecvt_utf8, std::codecvt_utf16 und std::codecvt_utf8_utf16 akzeptieren einen optionalen Wert vom Typ std::codecvt_mode als Vorlage Argument, das optionale Merkmale der Unicode-String-Konvertierung gibt .
Original:
The facets std::codecvt_utf8, std::codecvt_utf16, and std::codecvt_utf8_utf16 accept an optional value of type std::codecvt_mode as a template argument, which specifies optional features of the unicode string conversion.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[Bearbeiten] Konstanten
| Defined in header
<locale> | |
| Value
Original: Value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Meaning |
little_endian
|
übernehmen die Eingabe im Little-Endian-Byte-Reihenfolge (gilt für UTF-16-Eingang nur die Standard-Big-Endian ist)
Original: assume the input is in little-endian byte order (applies to UTF-16 input only, the default is big-endian) The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
consume_header
|
verbrauchen Bytereihenfolgemarkierung, falls vorhanden zu Beginn Eingabesequenz, und (im Falle von UTF-16), auf dem Byte-Reihenfolge angibt es zum Decodieren der Rest des Eingangs verlassen
Original: consume the byte order mark, if present at the start of input sequence, and (in case of UTF-16), rely on the byte order it specifies for decoding the rest of the input The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
generate_header
|
Ausgabe der Bytereihenfolgemarkierung am Beginn des Ausgangs-Sequenz
Original: output the byte order mark at the start of the output sequence The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Die anerkannten Bytereihenfolgemarkierungen sind:
Original:
The recognized byte order marks are:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
0xfe 0xff
|
UTF-16 Big-Endian
Original: UTF-16 big-endian The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
0xff 0xfe
|
UTF-16 Little-Endian
Original: UTF-16 little-endian The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
0xef 0xbb 0xbf
|
UTF-8 (keine Auswirkung auf endianness)
Original: UTF-8 (no effect on endianness) The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Wenn std::consume_header nicht ausgewählt wird, wenn eine Datei lesen, beginnend mit Bytereihenfolgemarkierung wird das Unicode-Zeichen U + FEFF (Zero width non-breaking space) als erstes Zeichen des Strings Inhalte gelesen werden .
Original:
If std::consume_header is not selected when reading a file beginning with byte order mark, the Unicode character U+FEFF (Zero width non-breaking space) will be read as the first character of the string content.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[Bearbeiten] Beispiel
Das folgende Beispiel demonstriert verzehrt den UTF-8 BOM
Original:
The following example demonstrates consuming the UTF-8 BOM
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
#include <fstream> #include <iostream> #include <string> #include <locale> #include <codecvt> int main() { // UTF-8 data with BOM std::ofstream("text.txt") << u8"\ufeffz\u6c34\U0001d10b"; // read the UTF8 file, skipping the BOM std::wifstream fin("text.txt"); fin.imbue(std::locale(fin.getloc(), new std::codecvt_utf8<wchar_t, 0x10ffff, std::consume_header>)); for(wchar_t c; fin.get(c); ) std::cout << std::hex << std::showbase << c << '\n'; }
Output:
0x7a 0x6c34 0x1d10b
[Bearbeiten] Siehe auch
| Konvertiten zwischen Zeichenkodierungen, inklusive UTF-8, UTF-16, UTF-32 Original: converts between character encodings, including UTF-8, UTF-16, UTF-32 The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Klassen-Template) | |
| (C++11) |
konvertiert zwischen UTF-8 und UCS2/UCS4 Original: converts between UTF-8 and UCS2/UCS4 The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Klassen-Template) |
| (C++11) |
konvertiert zwischen UTF-16 und UCS2/UCS4 Original: converts between UTF-16 and UCS2/UCS4 The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Klassen-Template) |
| (C++11) |
converts between UTF-8 and UTF-16 (Klassen-Template) |

