ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΊΠΎΠ΄ Π² ΡΠΈΠΌΠ²ΠΎΠ» Π² c
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· ASCII Π² ΡΠΈΠΌΠ²ΠΎΠ»
ASCII Π² ΡΠΈΠΌΠ²ΠΎΠ»
ΠΡΠΆΠ½ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΠ» ΡΡΡΠΎΠΊΡ, ΠΏΠΎΡΠΎΠΌ Π²ΡΠ±ΠΈΡΠ°Π» ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π΅Ρ Π² ΠΠ‘ΠΠ-ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ: Π²Π²Π΅Π΄Ρ.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ASCII ΠΊΠΎΠ΄.
ΠΠΎΡ Π·Π°Π΄Π°ΡΠΊΠ°: ΠΠ²Π΅ΡΡΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΡΡΠΎΠΊΡ ΠΈΠ· ΠΏΡΡΠΈ ΠΏΡΠΎΠΏΠΈΡΠ½ΡΡ
Π»Π°ΡΠΈΠ½ΡΠΊΠΈΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΈΡ
Π².
Π‘ΠΈΠΌΠ²ΠΎΠ» escape Π² ASCII
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅! ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ».
ΡΠ°ΠΌ ΠΎΡΠ²Π΅ΡΠ° ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Π½Π΅Ρ. Ρ ΡΠ°ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΡΠΎΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ
Π° setlocale( LC_ALL,»Russian» ); ΡΠΎΠΆΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΡΠ΅ΠΌΡ ΡΠΎ
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠ΅ΡΠ΅Π· 57 ΡΠ΅ΠΊΡΠ½Π΄
ΠΎΡ , Ρ ΡΡΠΎ-ΡΠΎ Π½Π° Π΄Π°ΡΡ ΠΏΠΎΡΡΠ° Π½Π΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π» π π
ΠΠΎΠΌΠΎΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ , ΠΊΡΡΡΠΎΠ²ΡΡ ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΡΡ ΡΠ°Π±ΠΎΡ Π·Π΄Π΅ΡΡ.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ASCII
Π Π΅Π±ΡΡΠ°, Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠΏΡΠΎΡ. ΠΠΎΡ Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ΅Ρ ΡΡΡΠΎΠΊΡ «10011001» ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΈΠ· Π²ΠΎΡΡΠΌΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈ.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΠ΅Π» Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌ Π² ASCII ΡΠΈΠΌΠ²ΠΎΠ»Ρ
ΠΠΎΠ±ΡΠ΅ΠΌ Π·Π°Π΄Π°ΡΠ° ΡΠ°ΠΊΠ°Ρ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ±ΠΎΠΊΡΠ° ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΡΡΠΎΠΊΠ° Π² ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· Π²ΡΠΎΡΠΎΠ³ΠΎ.
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ASCII Π² ΡΡΡΡΠΊΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ (ΠΊΠΎΠ½ΡΠΎΠ»Ρ)
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, Π½ΡΠΆΠ½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ» \xB2 (Π·Π°ΡΡΡΠΈΡ
ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ) ΡΠ°ΠΊ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ Π΅ΡΠ»ΠΈ.
ΠΠ°ΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ASCII Π² ΡΠΈΠΌΠ²ΠΎΠ»
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅! ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ASCII Π² ΡΠΈΠΌΠ²ΠΎΠ»?
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ° Π² ASCII ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ
2 ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠ΅ ΠΌΠΎΠ³Ρ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ASCII Π² ΡΠ΅ΠΊΡΡ. ΠΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π»Π΅ΠΆΠ°ΡΡ Π² int ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠΎΠΉ ΠΆΠ΅ A.
P.S. ΠΠ°ΡΠ΅Π» ΡΠΆΠ΅ ΡΠΉΠΌΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°, ΠΈ Π²ΡΠ΅ ΡΠ°Π·Π½ΡΠ΅. Π ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π½Π΅ ΡΠΌΠΎΠ³.
ΠΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΈΠ· ASCII ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² string
ΠΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ,ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΡΡΡΠΎΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ascii ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π΅Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ text. ΠΠ°ΠΊ.
ΠΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΠΈΠ· OEM Π² ASCII ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ
ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΠΈΠ· OEM Π² ASCII ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. private void.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΈΠ· Ascii Π² string
Π²ΡΠ΅ΠΌ Π΄ΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ) ΠΊΠ°ΠΊ Π΅ΡΡΡ ΠΊΠΎΠ΄Ρ ascii, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΈΡ
Π² string? ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠ΅ΡΠ΅Π· 5.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ Π² ΡΡΠ°Π½ΡΠ»ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅. ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Ρ ΠΏΡΠΎΠ³ΠΎΠΉ. ΠΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π»ΡΠ±Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠ»Π°ΡΡ Π².
ΠΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ASCII Π±ΡΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅, Π²Π°ΠΌ Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠΉ? ΠΠΎΡ ΡΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ «Win-1251»:
ΠΠ»Ρ Π²Π΅ΡΡ
Π½Π΅ΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΡΠ°Π±Π»ΠΈΡΡ ASCII ΠΊΠΎΠ΄ Unicode UCS-2 ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ASCII ΠΊΠΎΠ΄ΠΎΠΌ:
S [83]->83
t [116]->116
r [114]->114
i [105]->105
n [110]->110
g [103]->103
[32]->32
ΠΠ»Ρ ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΡ ΡΠΆΠ΅ Π½Π΅Ρ:
Π‘ [1057]->209
Ρ [1090]->242
Ρ [1088]->240
ΠΎ [1086]->238
ΠΊ [1082]->234
Π° [1072]->224
ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅ Π΄ΡΡΠ³ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Ρ ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΠ΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ KOI8R:
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ASCII ΠΊΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
ΠΠ°ΠΊ Π² C ΠΏΠΎΠ»ΡΡΠΈΡΡ ASCII ΠΊΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ: ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ· ASCII ΠΊΠΎΠ΄Π°? Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅: Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ stdio. ΠΠ°ΡΠ°Π½Π΅Π΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ.
need more input
++. ΠΠ°Π΄Π΅ΡΡΡ, ΠΌΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΡΠ»ΠΈ Π²ΠΎΠΏΡΠΎΡ.
Π² Π‘ΠΈ Π½Π΅Ρ ΡΠΈΠΏΠ° Β«Π»ΠΈΡΠ΅ΡΠ°Β». char ΡΡΠΎ ΡΠΈΡΠ»ΠΎ.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅: Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ stdio.
Π Π΅Π³ΠΎ Π½ΠΈΠΊΡΠΎ ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π».
Π’.Π΅. ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ? ΠΠΎΠ΄ ΡΠΈΠΏΠ° ΡΡΠΎΠ³ΠΎ:
Π ΡΡΠΎ ΡΠΈΠΏΠ° stdio Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ:
Π’Π°ΠΊ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΠ΄Π΅Ρ?
ΠΡΡΡ Π΅ΡΡ Π²ΠΎΡ ΡΡΠΎ: int a = ‘a’; char a = ‘\xFF’
c- Π²ΡΠ΅Π³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ». ΠΠ±ΠΎ ΡΠΈΡΠ°Π΅Ρ ΠΏΡΠΎΠ³Π° ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎ.
c- Π²ΡΠ΅Π³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ». ΠΠ±ΠΎ ΡΠΈΡΠ°Π΅Ρ ΠΏΡΠΎΠ³Π° ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎ.
ΠΡΠ»ΠΈ Π±Π΅Π· Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½, ΡΠΎ ΡΠΎΠ³Π΄Π° sprintf.
ΠΠ°ΡΠ΅ΡΠ½Π°Ρ Π½Π΅Π΄Π΅Π»Ρ Π½Π°ΡΠ°Π»Π°ΡΡ ΡΠΆΠ΅?
Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π±Π΅Π· ΡΠ°Π·Π½ΠΈΡΡ, ΠΈΠ±ΠΎ sizeof(char) == 1
Ρ ΠΎΡΡ ΠΎΠ³ΠΎΠ²ΠΎΡΡΡΡ: Π² C sizeof(‘a’) == sizeof(char), Π° Π²ΠΎΡ Π² C++ sizeof(‘a’) == sizeof(int)
ΠΏΡΠΎΡΡΠΎ ΡΡΠΎ ΡΠΏΠ°ΡΠ΅Ρ ΠΎΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΠΊΠ° Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠΊΠ²
ΡΠΊΠ°Π·Π°ΠΎ ΠΆΠ΅- Π±Π΅Π· stdio. sprintf ΡΠ·Π°Π΅Ρ stdio. Π Π΄Π°: ΠΌΠΎΠΉ ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.)
ASCII Π² ΡΠΈΠΌΠ²ΠΎΠ»
Π‘ΠΈΠΌΠ²ΠΎΠ» escape Π² ASCII
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅! ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ».
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ASCII Π² ΡΡΡΡΠΊΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ (ΠΊΠΎΠ½ΡΠΎΠ»Ρ)
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, Π½ΡΠΆΠ½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ» \xB2 (Π·Π°ΡΡΡΠΈΡ
ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ) ΡΠ°ΠΊ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ Π΅ΡΠ»ΠΈ.
ΠΠ°ΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ASCII Π² ΡΠΈΠΌΠ²ΠΎΠ»
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅! ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ASCII Π² ΡΠΈΠΌΠ²ΠΎΠ»?
Π Π΅ΡΠ΅Π½ΠΈΠ΅
Π Π΅ΡΠ΅Π½ΠΈΠ΅
Π½ΠΎ Π½Π°Π³Π»ΡΠ΄Π½Π΅ΠΉ Π·Π΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ printf
ΠΠΎΠΌΠΎΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ , ΠΊΡΡΡΠΎΠ²ΡΡ ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΡΡ ΡΠ°Π±ΠΎΡ Π·Π΄Π΅ΡΡ.
ΠΠ°ΠΊΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ASCII Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 67?
ΠΠ°ΠΊΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ASCII Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 67? ΠΡΠΆΠ΅Π½ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ.
ΠΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Β«ASCII-ΠΊΠΎΠ΄ β ΡΠΈΠΌΠ²ΠΎΠ»Β»
ΠΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅, ΡΠΆΠ΅ Π²Π΅ΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ».
ΠΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½ ΡΠΈΠΌΠ²ΠΎΠ» ASCII ΡΠ°Π±Π»ΠΈΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ. Π½Π°Π΄ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½ ΡΠΈΠΌΠ²ΠΎΠ» Π°ΡΠΊΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ» Π²ΠΎ ΡΠ°Π·, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ
ΡΠ°Π½ΠΈΡΡΡ Π².
ΠΠ²Π΅ΡΡΠΈ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΡΠΈΡΡΡ, Π° Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΈΠΌΠ²ΠΎΠ» ASCII
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°, Π² ΡΠΎΠΌ ΡΡΠΎ Ρ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π» ΡΠ΅Π±Π΅ Π·Π°Π΄Π°ΡΡ, Π²Π²ΠΎΠ΄ΠΈΡΡ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΡΠΈΡΡΡ,Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π½Π° ΡΠΊΡΠ°Π½ Π΄ΠΎΠ»ΠΆΠ½ΠΎ.
Π£ΡΠΎΠΊ β35. Π‘ΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ char
ΠΠ±Π½ΠΎΠ²Π». 11 Π‘Π΅Π½ 2021 |
Π₯ΠΎΡΡ ΡΠΈΠΏ char ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½ΡΡ (ΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΅ΠΌ ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ), ΡΠ°Π±ΠΎΡΠ° Ρ char Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ.
Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ char
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° char Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 1 Π±Π°ΠΉΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° char Π² ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΎΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ASCII-ΡΠΈΠΌΠ²ΠΎΠ».
ASCII (ΡΠΎΠΊΡ. ΠΎΡ Β«American Standard Code for Information InterchangeΒ») β ΡΡΠΎ Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° (+ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΡ ) Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ΅Π» ΠΎΡ 0 Π΄ΠΎ 127. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: ΠΊΠΎΠ΄ Π±ΡΠΊΠ²Ρ ‘Π°’ β 97, ΠΊΠΎΠ΄ Π±ΡΠΊΠ²Ρ ‘b’ β 98. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ.
Π’Π°Π±Π»ΠΈΡΠ° ASCII-ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²:
ΠΠΎΠ΄ | Π‘ΠΈΠΌΠ²ΠΎΠ» | ΠΠΎΠ΄ | Π‘ΠΈΠΌΠ²ΠΎΠ» | ΠΠΎΠ΄ | Π‘ΠΈΠΌΠ²ΠΎΠ» | ΠΠΎΠ΄ | Π‘ΠΈΠΌΠ²ΠΎΠ» |
0 | NUL (null) | 32 | (space) | 64 | @ | 96 | ` |
1 | SOH (start of header) | 33 | ! | 65 | A | 97 | a |
2 | STX (start of text) | 34 | β | 66 | B | 98 | b |
3 | ETX (end of text) | 35 | # | 67 | C | 99 | c |
4 | EOT (end of transmission) | 36 | $ | 68 | D | 100 | d |
5 | ENQ (enquiry) | 37 | % | 69 | E | 101 | e |
6 | ACK (acknowledge) | 38 | & | 70 | F | 102 | f |
7 | BEL (bell) | 39 | β | 71 | G | 103 | g |
8 | BS (backspace) | 40 | ( | 72 | H | 104 | h |
9 | HT (horizontal tab) | 41 | ) | 73 | I | 105 | i |
10 | LF (line feed/new line) | 42 | * | 74 | J | 106 | j |
11 | VT (vertical tab) | 43 | + | 75 | K | 107 | k |
12 | FF (form feed / new page) | 44 | , | 76 | L | 108 | l |
13 | CR (carriage return) | 45 | β | 77 | M | 109 | m |
14 | SO (shift out) | 46 | . | 78 | N | 110 | n |
15 | SI (shift in) | 47 | / | 79 | O | 111 | o |
16 | DLE (data link escape) | 48 | 0 | 80 | P | 112 | p |
17 | DC1 (data control 1) | 49 | 1 | 81 | Q | 113 | q |
18 | DC2 (data control 2) | 50 | 2 | 82 | R | 114 | r |
19 | DC3 (data control 3) | 51 | 3 | 83 | S | 115 | s |
20 | DC4 (data control 4) | 52 | 4 | 84 | T | 116 | t |
21 | NAK (negative acknowledge) | 53 | 5 | 85 | U | 117 | u |
22 | SYN (synchronous idle) | 54 | 6 | 86 | V | 118 | v |
23 | ETB (end of transmission block) | 55 | 7 | 87 | W | 119 | w |
24 | CAN (cancel) | 56 | 8 | 88 | X | 120 | x |
25 | EM (end of medium) | 57 | 9 | 89 | Y | 121 | y |
26 | SUB (substitute) | 58 | : | 90 | Z | 122 | z |
27 | ESC (escape) | 59 | ; | 91 | [ | 123 | < |
28 | FS (file separator) | 60 | 94 | ^ | 126 | ||
31 | US (unit separator) | 63 | ? | 95 | _ | 127 | DEL (delete) |
Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ ΠΎΡ 0 Π΄ΠΎ 31 Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½ΠΈΡ ΡΠΆΠ΅ ΡΡΡΠ°ΡΠ΅Π»ΠΈ.
Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ ΠΎΡ 32 Π΄ΠΎ 127 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠΎ Π±ΡΠΊΠ²Ρ, ΡΠΈΡΡΡ, Π·Π½Π°ΠΊΠΈ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° (Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅).
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π° ΡΡΠ΅ΠΉΡΠΌΠ΅Π½ΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ (ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠΈΠΏΠ° char ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ 97 ):
ΠΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΠ΅Π» Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (ΠΈΠ· ASCII-ΡΠ°Π±Π»ΠΈΡΡ). Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π° ΡΡΠ΅ΠΉΡΠΌΠ΅Π½ΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅:
ΠΡΠ²ΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° char, ΠΎΠ±ΡΠ΅ΠΊΡ cout Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΡ:
Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ ΡΠΈΠΏΠ° char Π½Π°ΠΏΡΡΠΌΡΡ:
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ static_cast
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΡ, Π° Π½Π΅ Π² Π²ΠΈΠ΄Π΅ Π±ΡΠΊΠ², ΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ cout Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΠ° char Π² Π²ΠΈΠ΄Π΅ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ β ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° int ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° char ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ Π΅Ρ:
ΠΡΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° static_cast.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ static_cast Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° static_cast Π΄Π»Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠ° char Π² ΡΠΈΠΏ int:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
Π’Π°ΠΊΠΆΠ΅ Π² static_cast Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΠ»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ static_cast ΠΌΡ Π΅ΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅.
ΠΠ²ΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ». ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈ Π΅Π³ΠΎ ASCII-ΠΊΠΎΠ΄:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
Input a keyboard character: q
q has ASCII code 113
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ cin ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ Π²Π²Π΅ΡΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ch Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» (ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ). ΠΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π²ΠΎ Π²Ρ ΠΎΠ΄Π½ΠΎΠΌ Π±ΡΡΠ΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ cin, ΠΈ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π²ΡΠ·ΠΎΠ²Π°ΠΌ cin.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎ Π²ΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
Input a keyboard character: abcd
a has ASCII code 97
b has ASCII code 98
Π Π°Π·ΠΌΠ΅Ρ, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈ Π·Π½Π°ΠΊ ΡΠΈΠΏΠ° Ρhar
Π ΡΠ·ΡΠΊΠ΅ Π‘++ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° char Π²ΡΠ΅Π³Π΄Π° Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ 1 Π±Π°ΠΉΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, char ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ signed, ΡΠ°ΠΊ ΠΈ unsigned (Ρ ΠΎΡΡ ΠΎΠ±ΡΡΠ½ΠΎ signed). ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ char Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ASCII-ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π·Π½Π°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ signed ΠΈ unsigned ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡ 0 Π΄ΠΎ 127).
Π£ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ
Π ΡΠ·ΡΠΊΠ΅ C++ Π΅ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ (ΠΈΠ»ΠΈ Β«escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈΒ»). ΠΠ½ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π±ΡΠΊΡΠ»Π΅ΡΠ° ( \ ), Π° Π·Π°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ Π±ΡΠΊΠ²Π° ΠΈΠ»ΠΈ ΡΠΈΡΡΠ°.
First line
Second line
First part Second part
Π’Π°Π±Π»ΠΈΡΠ° Π²ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ·ΡΠΊΠ΅ C++:
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | Π‘ΠΈΠΌΠ²ΠΎΠ» | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ (alert) | \a | ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ (Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΈΠ³Π½Π°Π») |
Backspace | \b | ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΎΠ΄Π½Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π°Π·Π°Π΄ |
formfeed | \f | ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ |
Π‘ΠΈΠΌΠ²ΠΎΠ» Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (newline) | \n | ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ |
ΠΠΎΠ·Π²ΡΠ°Ρ ΠΊΠ°ΡΠ΅ΡΠΊΠΈ (carriage return) | \r | ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° Π² Π½Π°ΡΠ°Π»ΠΎ ΡΡΡΠΎΠΊΠΈ |
ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π± (horizontal tab) | \t | ΠΡΡΠ°Π²ΠΊΠ° Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ TAB |
ΠΠ΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π± (vertical tab) | \v | ΠΡΡΠ°Π²ΠΊΠ° Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ TAB |
ΠΠ΄ΠΈΠ½Π°ΡΠ½Π°Ρ ΠΊΠ°Π²ΡΡΠΊΠ° | \β | ΠΡΡΠ°Π²ΠΊΠ° ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΊΠ°Π²ΡΡΠΊΠΈ (ΠΈΠ»ΠΈ Π°ΠΏΠΎΡΡΡΠΎΡΠ°) |
ΠΠ²ΠΎΠΉΠ½Π°Ρ ΠΊΠ°Π²ΡΡΠΊΠ° | \β | ΠΡΡΠ°Π²ΠΊΠ° Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΊΠ°Π²ΡΡΠΊΠΈ |
ΠΡΠΊΡΠ»Π΅Ρ | \\ | ΠΡΡΠ°Π²ΠΊΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΡ (Π±ΡΠΊΡΠ»Π΅ΡΠ°) |
ΠΠΎΠΏΡΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π½Π°ΠΊ | \? | ΠΡΡΠ°Π²ΠΊΠ° Π·Π½Π°ΠΊΠ° Π²ΠΎΠΏΡΠΎΡΠ° |
ΠΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ | \(number) | ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΠΈΡΠ»Π° ΠΈΠ· Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² ΡΠΈΠΏ char |
Π¨Π΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ | \x(number) | ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΠΈΡΠ»Π° ΠΈΠ· ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² ΡΠΈΠΏ char |
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ Π² ΠΊΠΎΠ΄Π΅:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
«This is quoted text»
This string contains a single backslash \
6F in hex is char ‘o’
Π§ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ: β\nβ ΠΈΠ»ΠΈ std::endl?
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ std::cout, Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π±ΡΡΠ΅Ρ, Ρ.Π΅. std::cout ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π½Π° Π²ΡΠ²ΠΎΠ΄. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΈΡ ΠΏΡΠΈ ΡΠ΅Π±Π΅ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ (Π² ΡΠ΅Π»ΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ).
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ \n Π²ΠΎ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ .
ΠΡΡΠ³ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ: wchar_t, char16_t ΠΈ char32_t
Π’ΠΈΠΏ wchar_t ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ (ΠΊΡΠΎΠΌΠ΅ ΡΠ΅Ρ , ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Windows API).
Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡ ASCII ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, ΡΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ². ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ (ΠΏΠΎΡΠ»Π΅ ASCII) β Unicode, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ Π² Π·Π°ΠΏΠ°ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ 110 000 ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ².
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ Unicode:
UTF-32 β ΡΡΠ΅Π±ΡΠ΅Ρ 32 Π±ΠΈΡΠ° Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°.
UTF-16 β ΡΡΠ΅Π±ΡΠ΅Ρ 16 Π±ΠΈΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°.
UTF-8 β ΡΡΠ΅Π±ΡΠ΅Ρ 8 Π±ΠΈΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°.
Π’ΠΈΠΏΡ char16_t ΠΈ char32_t Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² C++11 Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ 16-Π±ΠΈΡΠ½ΡΡ ΠΈ 32-Π±ΠΈΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Unicode (8-Π±ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈ ΡΠ°ΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΈΠΏΠΎΠΌ char).
Π ΡΡΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΌΠΈ ΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠΌΠΈ ΠΊΠ°Π²ΡΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ?
Π’Π΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π΄Π²ΠΎΠΉΠ½ΡΡ ΠΊΠ°Π²ΡΡΠΊΠ°Ρ , Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, «Hello, world!» ). Π‘ΡΡΠΎΠΊΠ° (ΡΠΈΠΏ string) β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ ΡΠΈΠΏΠ° string Π² ΠΊΠΎΠ΄Π΅:
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΡΠΈΠΏΠ΅ string ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡ :
Π£ΡΠΎΠΊ β34. ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ bool
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²: 12
>>Π’ΠΈΠΏ wchar_t ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅Ρ
ΡΠ»ΡΡΠ°ΡΡ
ΠΠΎΡ Π·Π° ΡΠ°ΠΊΠΎΠΉ ΡΠΎΠ²Π΅Ρ Π°Π²ΡΠΎΡΠ° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π°β¦ ΠΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠΎΡΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΉ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΊΡΠ°ΡΠΈΡΡΡ Π½Π° ΠΠ‘ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΠΎΠ½ΡΠΊΠ°Ρ ΠΈΠ³ΡΠ° Π½Π° Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΎΠΉ Π²ΠΈΠ½Π΄Π΅.. ΠΠ° ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΡΠΎΡΡ Π½Π° ΡΡΡΡΠΊΠΎΠΉ Π²ΠΈΠ½Π΄Π΅.
ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π»ΠΈΠ±ΠΎ ΠΎΠ½ΠΈ Π΄ΡΠΌΠ°ΡΡ ΡΡΠΎ ΠΊΡΠΎΠΌΠ΅ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΡΠ·ΡΠΊΠΎΠ² Π½Π΅Ρ ΠΈ ΡΠ·Π°ΡΡ char, Π»ΠΈΠ±ΠΎ ΠΏΡΡΠ°ΡΡΡΡ Π²ΡΡΠ»ΠΈΡΡ Π²ΡΠ΅ Π² char8_t
Π Π³Π»Π°Π²Π΅ β30 «Π Π°Π·ΠΌΠ΅Ρ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ » Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ «ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠΎ, ΡΡΠΎ sizeof β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· 3-Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π² ΡΠ·ΡΠΊΠ΅ C++, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠ²ΠΎΠΌ, Π° Π½Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ (Π΅ΡΠ΅ Π΅ΡΡΡ new ΠΈ delete)». Π Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠΎ Π΅ΡΡΡ Π΅ΡΡ static_cast
ΡΡΡΠ°Π½Π½ΠΎ, Π½ΠΎ Π² Ρ++ sizeof(‘a’) == sizeof(char), Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π² ΡΠΈ β sizeof(‘a’) == sizeof(int). Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ β¦
Π Π‘ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ sizeof(‘a’) == sizeof(int) ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΠΈΠ·-Π·Π° Π΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ. ΠΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ sizeof ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (expression). Π Π²ΠΎ Π²ΡΠ΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ Π² Π‘ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ ΡΠΈΠΏΡ int, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅Π½ΡΡΠΈΠΉ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΈΠΏ. Π§ΡΠΎ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΠ° Π΄Π΅Π»Π΅ ΠΆΠ΅ (Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π·Π½Π°Ρ) Π² Π‘ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠΎΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π² ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ. ΠΡΠΎΠ΄Π΅ Π±Ρ ΡΠΈΠΏ char ΡΠ°ΠΊ ΠΈ Π²Π²ΠΎΠ΄ΠΈΠ»ΡΡ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΡΠ°Π²Π½ΡΠΌ ΠΎΠ΄Π½ΠΎΠΌΡ Π±Π°ΠΉΡΡ.