chcp
현재 코드 페이지가 표시됩니다:
locale
확인하다LANG또는LC_CTYPE값은 다음과 같습니다.
LANG=zh_TW.UTF-8
---
#include <clocale>
#include <iostream>
int main() {
std::cout << "Current locale: " << std::setlocale(LC_ALL, nullptr) << std::endl;
}
Windows에서는 일반적으로 다음과 같은 내용이 표시됩니다.C또는Chinese (Traditional)_Taiwan.950。
chcp 65001
→ 명령줄을 UTF-8로 전환합니다.
$OutputEncoding = [Console]::OutputEncoding = [Text.Encoding]::UTF8
#include <clocale>
정수 메인() {
std::setlocale(LC_ALL, "zh_TW.UTF-8"); // UTF-8로 설정
}
std::setlocale(LC_ALL, "Chinese_Taiwan.950");
---
UTF-8。SetConsoleOutputCP(65001); //출력을 UTF-8로 설정
SetConsoleCP(65001); //입력을 UTF-8로 설정
사용chcp 65001현재 명령 프롬프트(cmd)의 문자 인코딩은 일시적으로만 변경할 수 있습니다. 창이 닫히거나 다시 시작되면 기본값이 복원됩니다(예:950빅5). 전체 시스템과 모든 응용 프로그램에서 UTF-8을 사용하려면 Windows 시스템 수준에서 "지역 설정"을 수정해야 합니다.
다시 시작한 후 Windows 콘솔, C++, .NET, Python 및 기타 프로그램의 기본 로캘은 UTF-8입니다.
---chcp
표시되는 경우:
Active code page: 65001
이는 UTF-8이 기본값이 되었음을 의미합니다.
#include <clocale>
#include <iostream>
int main() {
std::cout << "Current locale: " << std::setlocale(LC_ALL, nullptr) << std::endl;
}
---
전체 시스템을 UTF-8로 변환하지 않으려면 특정 응용 프로그램에 대해 시작 매개변수나 프로그램 내 설정을 설정할 수 있습니다.
cmd /K chcp 65001
또는 프로그램 내에서 호출하십시오.SetConsoleOutputCP(65001);
SetConsoleCP(65001);
유니코드 이스케이프 시퀀스는 순수 ASCII 문자를 사용하여 유니코드 문자를 표현하는 방법입니다. 프로그래밍 언어 소스 코드, JSON, 문자열 상수 및 플랫폼 간 데이터 교환에 일반적으로 사용됩니다. 이 표기법은 환경에서 특정 문자를 직접 입력하거나 표시할 수 없는 경우에 사용됩니다.
가장 일반적인 형식은\uXXXX,안에XXXX4자리 16진수입니다.
유니코드 코드 포인트를 나타냅니다.
\u0041 → A\u00E9 → é\u4E2D→ 중간일부 언어(Python 등)에서 지원\UXXXXXXXX, 8개의 16진수 숫자를 사용하여,
모든 유니코드 코드 포인트는 직접 표현될 수 있습니다.
\U0001F600 → 😀16비트 유니코드만 지원하는 환경(예: JavaScript 레거시 사양)에서는
초과하다U+FFFF문자에는 서로게이트 쌍이 필요합니다.
\uD83D\uDE00 → 😀JavaScript
const s = "\u4E2D\u6587";
Python
s = "\u4E2D\u6587"
s2 = "\U0001F600"
JSON
{
"text": "\u4E2D\u6587"
}
URL 인코딩(퍼센트 인코딩이라고도 함)은 문자를 URL에서 사용하기에 안전한 표현으로 변환하는 방법입니다. URL은 특정 ASCII 문자만 허용하며 나머지는 퍼센트와 16진수로 변환해야 합니다.
인코딩 형식은%HH,안에HH이 문자의 바이트 값을 16진수로 표현한 것입니다.
문자가 UTF-8에서 여러 바이트를 차지하는 경우 별도로 인코딩됩니다.
%20%21%E4%B8%ADURL의 일부 문자는 특별한 의미를 가지며 예약 문자라고 합니다. 인코딩이 필요한지 여부는 사용되는 위치에 따라 다릅니다.
:/?&=#다음 문자는 인코딩 없이 URL에 직접 사용할 수 있습니다.
- _ . ~JavaScript
encodeURIComponent("중국어 테스트")
decodeURIComponent("%E4%B8%AD%E6%96%87%20test")
Python
urllib.parse에서 인용문 가져오기, 인용 해제
quote("중국어 테스트")
unquote("%E4%B8%AD%E6%96%87%20테스트")
존재하다application/x-www-form-urlencoded형식에서는
공백 문자는 다음과 같이 인코딩됩니다.+,보다는%20.
일반 URL 경로에서는 여전히 사용됩니다.%20。
16진수 이스케이프는 16진수 숫자를 사용하여 문자를 나타내는 방법입니다. 특정 바이트나 ASCII 문자를 나타내기 위해 프로그래밍 언어의 문자열 상수에 자주 사용됩니다.
가장 일반적인 형식은\xHH,안에HH는 2자리 16진수입니다.
일반적으로 ASCII 또는 단일 바이트 문자에 해당하는 바이트 값을 나타냅니다.
\x41 → A\x61 → a\x0A→ 줄 바꿈16진수 이스케이프는 대부분 단일 바이트 배열에서만 작동합니다.
UTF-8로 인코딩된 멀티바이트 문자를 사용하는 경우 이를 여러 바이트로 분할해야 합니다.\xHH。
\xE4\xB8\xADC / C++
char c = '\x41';
JavaScript
const s = "\x48\x65\x6C\x6C\x6F";
Python
s = "\x48\x65\x6C\x6C\x6F"
| 0x0 | 0x1 | 0x2 | 0x3 | 0x4 | 0x5 | 0x6 | 0x7 | 0x8 | 0x9 | 0xA | 0xB | 0xC | 0xD | 0xE | 0xF | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x00 | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
| 0x10 | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
| 0x20 | ␣ | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
| 0x30 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 0x40 | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 0x50 | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
| 0x60 | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| 0x70 | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | DEL |
| 0x80 | Ç | ü | é | â | ä | à | å | ç | ê | ë | è | ï | î | ì | Ä | Å |
| 0x90 | É | æ | Æ | ô | ö | ò | û | ù | ÿ | Ö | Ü | ¢ | £ | ¥ | ₧ | ƒ |
| 0xA0 | á | í | ó | ú | ñ | Ñ | ª | º | ¿ | ⌐ | ¬ | ½ | ¼ | ¡ | « | » |
| 0xB0 | ░ | ▒ | ▓ | │ | ┤ | ╡ | ╢ | ╖ | ╕ | ╣ | ║ | ╗ | ╝ | ╜ | ╛ | ┐ |
| 0xC0 | └ | ┴ | ┬ | ├ | ─ | ┼ | ╞ | ╟ | ╚ | ╔ | ╩ | ╦ | ╠ | ═ | ╬ | ╧ |
| 0xD0 | ╨ | ╤ | ╥ | ╙ | ╘ | ╒ | ╓ | ╫ | ╪ | ┘ | ┌ | █ | ▄ | ▌ | ▐ | ▀ |
| 0xE0 | α | ß | Γ | π | Σ | σ | µ | τ | Φ | Θ | Ω | δ | ∞ | φ | ε | ∩ |
| 0xF0 | ≡ | ± | ≥ | ≤ | ⌠ | ⌡ | ÷ | ≈ | ° | ∙ | · | √ | ⁿ | ² | ■ |
유니코드의 한자는 주로 다음 섹션에 배포됩니다. 다음은 유니코드 표의 일반적인 중국어 문자(한자)의 범위와 각 범위에 대한 자세한 설명을 나열합니다.
| 범위 이름 | 유니코드 범위 | 설명하다 |
|---|---|---|
| CJK Unified Ideographs | 4E00–9FFF | 가장 일반적인 한자 범위인 기본 중국어, 일본어 및 한국어 문자가 포함되어 있습니다. |
| CJK Unified Ideographs Extension A | 3400–4DBF | 덜 일반적으로 사용되는 한자가 포함된 확장된 영역 A. |
| CJK Unified Ideographs Extension B | 20000–2A6DF | 확장된 B 영역은 주로 고대 문자와 일부 희귀 한자를 다루고 있습니다. |
| CJK Unified Ideographs Extension C | 2A700–2B73F | C지역을 확장하여 고대 캐릭터와 희귀 캐릭터를 더욱 확장하였습니다. |
| CJK Unified Ideographs Extension D | 2B740–2B81F | 확장 영역 D에는 거의 사용되지 않는 한자가 포함되어 있습니다. |
| CJK Unified Ideographs Extension E | 2B820–2CEAF | E 영역을 확장하여 주로 희귀한 한자를 추가합니다. |
| CJK Unified Ideographs Extension F | 2CEB0–2EBEF | 희귀한 고대 문자와 한자를 포함하여 F 영역을 확장했습니다. |
| CJK Unified Ideographs Extension G | 30000–3134F | 확장된 G 영역은 최근 추가된 한자 영역입니다. |
| CJK Compatibility Ideographs | F900–FAFF | 일본어 문자에 대한 다른 문자와 같은 이전 문자 집합 시스템과의 호환성을 위한 호환성 영역입니다. |
위에 나열된 범위에는 대부분의 한자가 포함되며 현대 한자, 고대 문자 및 호환 문자를 포함하여 다양한 요구를 충족하기 위해 다양한 영역에 배포됩니다. 중국어 글꼴 디자인 또는 문자 분석의 경우 이러한 범위는 완전한 글꼴 지원을 제공합니다.
email: [email protected]