Kodierung – Unicode usw.





Überprüfen Sie die lokale Kodierung und legen Sie sie fest

1️⃣ Überprüfen Sie die lokale Kodierung des aktuellen Systems

Windows (cmd / PowerShell)

chcp

Die aktuelle Codepage wird angezeigt:

Linux / macOS (Terminal)

locale

ÜberprüfenLANGoderLC_CTYPEWert, zum Beispiel:

LANG=zh_TW.UTF-8
---

2️⃣ Überprüfen Sie die aktuelle Codierung im C++-Programm

#include <clocale>
#include <iostream>

int main() {
    std::cout << "Current locale: " << std::setlocale(LC_ALL, nullptr) << std::endl;
}

Unter Windows wird normalerweise etwas wie angezeigtCoderChinese (Traditional)_Taiwan.950

---

3️⃣ Stellen Sie die lokale Kodierung ein

Windows-Eingabeaufforderung (cmd)

chcp 65001

→ Befehlszeile auf UTF-8 umstellen.

PowerShell

$OutputEncoding = [Console]::OutputEncoding = [Text.Encoding]::UTF8

Wird innerhalb eines C++-Programms festgelegt

#include <clocale>

int main() {
    std::setlocale(LC_ALL, "zh_TW.UTF-8"); // Auf UTF-8 setzen
}

Oder richten Sie Big5 in Windows ein

std::setlocale(LC_ALL, "Chinese_Taiwan.950");
---

4️⃣ Empfohlene Einstellungen



Permanenten Code festlegen

1️⃣ Problemhintergrund

verwendenchcp 65001Sie können die Zeichenkodierung der aktuellen Eingabeaufforderung (cmd) nur vorübergehend ändern. Sobald das Fenster geschlossen oder neu gestartet wird, wird der Standardwert wiederhergestellt (z. B.950Big5). Wenn Sie möchten, dass das gesamte System und alle Anwendungen UTF-8 verwenden, müssen Sie die „Regionalen Einstellungen“ auf Windows-Systemebene ändern.

---

2️⃣ Stellen Sie das gesamte Windows dauerhaft auf die Verwendung von UTF-8 ein

Schritt 1: Öffnen Sie die regionalen Einstellungen

  1. einschaltenBedienfeld
  2. wählenUhren und Regionen → Regionen (Region)
  3. wechseln zuverwalten(Administrative) Paginierung
  4. KlickenSystemgebietsschema ändern...

Schritt 2: Aktivieren Sie UTF-8

  1. Überprüfen Sie die Unterseite:
    ✅ Beta: Verwenden Sie Unicode UTF-8 für weltweite Sprachunterstützung (Verwenden Sie Unicode UTF-8 für weltweite Sprachunterstützung)
  2. Drücken Sie OK und starten Sie das System neu

Nach dem Neustart ist das Standardgebietsschema der Windows-Konsole, von C++, .NET, Python und anderen Programmen UTF-8.

---

3️⃣ Überprüfen Sie, ob es wirksam ist

Überprüfen Sie in cmd

chcp

Falls angezeigt:

Active code page: 65001

Dies bedeutet, dass UTF-8 zum Standard geworden ist.

Validieren Sie in C++

#include <clocale>
#include <iostream>

int main() {
    std::cout << "Current locale: " << std::setlocale(LC_ALL, nullptr) << std::endl;
}
---

4️⃣ Vorsichtsmaßnahmen

---

5️⃣ Alternativen (ohne das System zu verändern)

Wenn Sie nicht möchten, dass das gesamte System auf UTF-8 umgestellt wird, können Sie für bestimmte Anwendungen Startparameter oder programminterne Einstellungen festlegen:

cmd /K chcp 65001
Oder rufen Sie im Programm auf:
SetConsoleOutputCP(65001);
SetConsoleCP(65001);


Unicode escape sequences

Grundlegende Konzepte

Die Unicode-Escape-Sequenz ist eine Methode zur Darstellung von Unicode-Zeichen mithilfe reiner ASCII-Zeichen. Wird häufig im Quellcode von Programmiersprachen, JSON, String-Konstanten und dem plattformübergreifenden Datenaustausch verwendet. Diese Notation wird verwendet, wenn die Umgebung ein bestimmtes Zeichen nicht direkt eingeben oder anzeigen kann.

\u-Format

Das gebräuchlichste Format ist\uXXXX,InXXXXist eine 4-stellige Hexadezimalzahl, Stellt einen Unicode-Codepunkt dar.

\U-Format

Unterstützt von einigen Sprachen (z. B. Python)\UXXXXXXXX, mit 8 hexadezimalen Ziffern, Alle Unicode-Codepunkte können direkt dargestellt werden.

Agentenpaardarstellung

In Umgebungen, die nur 16-Bit-Unicode unterstützen (z. B. die JavaScript-Legacy-Spezifikation), überschreitenU+FFFFDie Zeichen erfordern ein Ersatzpaar.

Beispiele für gängige Sprachen

JavaScript


const s = "\u4E2D\u6587";

Python


s = "\u4E2D\u6587"
s2 = "\U0001F600"

JSON


{
  "text": "\u4E2D\u6587"
}

Wann zu verwenden



URL Encoding

Grundlegende Konzepte

URL-Kodierung (auch bekannt als Prozentkodierung) ist eine Möglichkeit, Zeichen in eine Darstellung umzuwandeln, die für die Verwendung in URLs sicher ist. URLs erlauben nur bestimmte ASCII-Zeichen, der Rest muss in Prozent plus Hexadezimal umgewandelt werden.

Codierungsformat

Das Codierungsformat ist%HH,InHHIst die hexadezimale Darstellung des Bytewerts dieses Zeichens. Wenn Zeichen unter UTF-8 mehrere Bytes belegen, werden sie separat codiert.

reservierte Zeichen

Einige Zeichen in URLs haben eine besondere Semantik und werden als reservierte Zeichen bezeichnet. Ob eine Kodierung erforderlich ist, hängt davon ab, wo sie verwendet wird.

Nicht reservierte Charaktere

Die folgenden Zeichen können ohne Kodierung direkt in URLs verwendet werden.

Beispiele für gängige Sprachen

JavaScript

encodeURIComponent("Chinesischer Test")
decodeURIComponent("%E4%B8%AD%E6%96%87%20test")

Python

aus urllib.parse import quote, unquote

quote("Chinesisch-Test")
unquote("%E4%B8%AD%E6%96%87%20test")

Unterschied zum Pluszeichen

existierenapplication/x-www-form-urlencodedIm Format Leerzeichen werden als kodiert+, statt%20. Wird immer noch in allgemeinen URL-Pfaden verwendet%20

Wann zu verwenden



Hexadecimal Escapes

Grundlegende Konzepte

Hexadezimal-Escapezeichen sind eine Möglichkeit, hexadezimale Zahlen zur Darstellung von Zeichen zu verwenden. Wird häufig in Zeichenfolgenkonstanten in Programmiersprachen verwendet, um bestimmte Bytes oder ASCII-Zeichen darzustellen.

\x-Format

Das gebräuchlichste Format ist\xHH,InHHist eine zweistellige Hexadezimalzahl, Stellt einen Bytewert dar, der normalerweise ASCII oder einem einzelnen Bytezeichen entspricht.

Anwendungsbereich

Hexadezimale Escapes funktionieren meist nur mit Einzelbyte-Arrays, Wenn Sie UTF-8-codierte Multibyte-Zeichen verwenden, müssen Sie diese in mehrere aufteilen\xHH

Gemeinsame Sprachunterstützung

C / C++


char c = '\x41';

JavaScript


const s = "\x48\x65\x6C\x6C\x6F";

Python


s = "\x48\x65\x6C\x6C\x6F"

Unterschiede zu Unicode-Escapes

Wann zu verwenden



ASCII-Kodierungstabelle

ASCII-Hex-Korrespondenztabelle
0x00x10x20x30x40x50x60x70x80x90xA0xB0xC0xD0xE0xF
0x00NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSI
0x10DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS
0x20!"#$%&'()*+,-./
0x300123456789:;<=>?
0x40@ABCDEFGHIJKLMNO
0x50PQRSTUVWXYZ[\]^_
0x60`abcdefghijklmno
0x70pqrstuvwxyz{|}~DEL
0x80ÇüéâäàåçêëèïîìÄÅ
0x90ÉæÆôöòûùÿÖÜ¢£¥ƒ
0xA0áíóúñѪº¿¬½¼¡«»
0xB0
0xC0
0xD0
0xE0αßΓπΣσµτΦΘΩδφε
0xF0±÷°·²


Unicode-Bereich für alle chinesischen Schriftzeichen

Chinesische Schriftzeichen in Unicode werden hauptsächlich in den folgenden Abschnitten behandelt. Im Folgenden werden die Bereiche gebräuchlicher chinesischer Schriftzeichen (Hanzi) in der Unicode-Tabelle sowie detaillierte Beschreibungen der einzelnen Bereiche aufgeführt.

Beschreibung des Unicode-Bereichs

Liste aller Bereiche

Bereichsname Unicode-Bereich veranschaulichen
CJK Unified Ideographs 4E00–9FFF Enthält grundlegende chinesische, japanische und koreanische Zeichen, den häufigsten chinesischen Zeichenbereich.
CJK Unified Ideographs Extension A 3400–4DBF Erweiterter Bereich A, der weniger häufig verwendete chinesische Schriftzeichen enthält.
CJK Unified Ideographs Extension B 20000–2A6DF Der erweiterte Bereich B umfasst hauptsächlich alte Schriftzeichen und einige seltene chinesische Schriftzeichen.
CJK Unified Ideographs Extension C 2A700–2B73F Bereich C wurde erweitert, um alte Charaktere und seltene Charaktere weiter zu erweitern.
CJK Unified Ideographs Extension D 2B740–2B81F Der erweiterte Bereich D enthält selten verwendete chinesische Schriftzeichen.
CJK Unified Ideographs Extension E 2B820–2CEAF Erweitern Sie Bereich E und fügen Sie hauptsächlich seltenere chinesische Schriftzeichen hinzu.
CJK Unified Ideographs Extension F 2CEB0–2EBEF Erweiterter Bereich F, einschließlich seltenerer alter Schriftzeichen und chinesischer Schriftzeichen.
CJK Unified Ideographs Extension G 30000–3134F Der erweiterte G-Bereich ist der zuletzt hinzugefügte Bereich für chinesische Schriftzeichen.
CJK Compatibility Ideographs F900–FAFF Kompatibilitätszone für Kompatibilität mit älteren Zeichensatzsystemen, z. B. unterschiedliche Glyphen für japanische Glyphen.

Zusammenfassen

Das oben aufgeführte Sortiment umfasst die meisten chinesischen Schriftzeichen und wird in vielen verschiedenen Bereichen vertrieben, um unterschiedlichen Anforderungen gerecht zu werden, einschließlich moderner chinesischer Schriftzeichen, alter Schriftzeichen und kompatibler Schriftzeichen. Für das Design chinesischer Schriftarten oder die Zeichenanalyse bieten diese Bereiche vollständige Unterstützung für Schriftarten.

Unicode Icons



  • UTF-8-Zeichentabelle


    email: [email protected]
    
    T:0000
    資訊與搜尋 | 回dev首頁
    email: Yan Sa [email protected] Line: 阿央
    電話: 02-27566655 ,03-5924828