ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

FAQ: Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅?

Учитывая, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ инструмСнты ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с тСкстом Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π·Π°Π΄Π°Π½ тСкст Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅ ΠΈ/ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ, Ρ‚ΠΎ Ρƒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ привСсти ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ тСкстового Ρ„Π°ΠΉΠ»Π° с русским тСкстом ΠΊ понятному для SocialKit Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ CP1251.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ сразу ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² для ОБ Windows (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, встроСнный Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚ ΠΈ Wordpad) ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ стандарту Windows-1251. Однако, эта ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π² слСдствиС Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… дСйствий.

Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π·Π°Π΄Π°Π½ тСкст, Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ всСго этот тСкст ΠΏΠ΅Ρ€Π΅ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· стандартный Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚ Windows. ΠŸΡ€ΠΈ пСрСсохранСнии Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ тСкст сСйчас.

ОпишСм эту ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΏΠΎ шагам.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ тСкстового Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ русский тСкст Π·Π°Π΄Π°Π½ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ UTF, Π½ΠΎ это Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ.

2. Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π²Ρ‹ сразу Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π±Ρ‹Π» сохранён тСкст Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅.

Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ пСрСсохранСния тСкстового Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ.

Как Π²ΠΈΠ΄Π½ΠΎ, Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ тСкст Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅ Π±Ρ‹Π» Ρ€Π°Π½Π΅Π΅ сохранён Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ UTF-8. Для измСнСния ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ достаточно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ ANSI ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ«.

ΠŸΡ€ΠΈ этом Π·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для вас Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ измСнится, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ измСнится для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ тСкста Π² процСссС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ. ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Instagram’Ρƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ANSI-тСкст.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

HackWare.ru

Π­Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ Ρ…Π°ΠΊΠΈΠ½Π³ ΠΈ тСстированиС Π½Π° ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅, информационная Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

Как быстро ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ

Π‘Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ вмСсто Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ тСкста показываСтся Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ символы.

Или Ρ‚Π°ΠΊ, ΠΊΠΎΠ³Π΄Π° английский символы ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π° вмСсто Π΄Ρ€ΡƒΠ³ΠΈΡ… символов Π·Π½Π°ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° ΠΈ Π±ΡƒΠΊΠ²Ρ‹ с Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ:

Π‘Ρ‹Π²Π°ΡŽΡ‚ строки состоящиС ΠΈΠ· Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… Π±ΡƒΠΊΠ² с Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ, Π½Π° ΠΊΠΎΠ½Ρ†Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° Π·Π½Π°ΠΊΠ° Ρ€Π°Π²Π½ΠΎ:

Иногда приходится ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с тСкстом, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ рСгулярно встрСчаСтся ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слэш с иксом (\x) послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ΄ΡƒΡ‚ Π±ΡƒΠΊΠ²Ρ‹ ΠΈ Ρ†ΠΈΡ„Ρ€Ρ‹:

Π§Ρ‚ΠΎΠ±Ρ‹ быстро Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π° строка, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ бСсплатным ΠΎΠ½Π»Π°ΠΉΠ½-сСрвисом ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ. Π­Ρ‚ΠΎΡ‚ сСрвис скопирован ΠΎΡ‚ΡΡŽΠ΄Π° http://0xcc.net/jsescape/.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ простой β€” Π² ΠΎΠΊΠ½ΠΎ Π²Ρ‹ вставляСтС строку Π² нСизвСстной ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅, Π° сСрвис пытаСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΠ· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΈΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ссли Π² ΠΏΠΎΠ»Π΅ ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ тСкст Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ тСкст, Π·Π½Π°Ρ‡ΠΈΡ‚ ваша строка ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π°. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΡŽ ΠΏΠΎΠ½ΡΡ‚ΡŒ смысл Ҁ” ВыполнитС вÑ од или ΓΒ·ΓΒ°Γ‘Β€ΓΒ΅ΓΒ³ΓΒΈΓ‘ΒΓ‘Β‚Γ‘Β€ΓΒΈΓ‘Β€Γ‘ΒƒΓΒΉΓ‘Β‚ΓΒ΅Γ‘ΒΓ‘ΒŒ:

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ! Π­Ρ‚Π° строка ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ разбСрёмся со строкой:

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

Π•Ρ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ оказалось:

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим Π½Π° сообщСниС ΠΈΠ· письма ΠΎΡ‚ мошСнников:

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ

НСкоторыС часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Β«Π½Π° Π³Π»Π°Π·Β». ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π΅Π²ΠΎΠΎΡ€ΡƒΠΆΡ‘Π½Π½Ρ‹ΠΌ Π³Π»Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ сильно ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ строки ΠΈΠ»ΠΈ быстрСС ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ тСкст Π²Ρ‹Π²Π΅Π΄Π΅Π½ Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅.

URL ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ URL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½Π°Π±ΠΎΡ€ символов US-ASCII. Π­Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΉ нСдостаток, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ лишь латинскиС Π±ΡƒΠΊΠ²Ρ‹, Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈ нСсколько Π·Π½Π°ΠΊΠΎΠ² ΠΏΡƒΠ½ΠΊΡ‚ΡƒΠ°Ρ†ΠΈΠΈ. ВсС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ символы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. НапримСр, ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±ΡƒΠΊΠ²Ρ‹ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹, Π±ΡƒΠΊΠ²Ρ‹ с диакритичСскими Π·Π½Π°ΠΊΠ°ΠΌΠΈ, Π»ΠΈΠ³Π°Ρ‚ΡƒΡ€Ρ‹, ΠΈΠ΅Ρ€ΠΎΠ³Π»ΠΈΡ„Ρ‹. ΠŸΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° описана Π² стандартС RFC 3986 ΠΈ называСтся URL-encoding, URLencoded ΠΈΠ»ΠΈ percent‐encoding.

Π”Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌ, ΠΊΠΎΠ³Π΄Π° Content-Type ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ application/x-www-form-urlencoded Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² URL ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅.

Base64

Π― ΠΏΠΎΡ‡Ρ‚ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π²ΠΈΠ΄Π΅Π»ΠΈ сообщСния Π² этой ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ β€” ΠΎΠ½ΠΈ ΠΏΠΈΡˆΡƒΡ‚ΡΡ большими ΠΈ малСнькими латинскими Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ. На ΠΊΠΎΠ½Ρ†Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° Π·Π½Π°ΠΊΠ° Ρ€Π°Π²Π½ΠΎ:

Π’ любом случаС, ΠΏΠΎΡ‡Ρ‚ΠΈ навСрняка Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ эту ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь, Π΄Π°ΠΆΠ΅ сами Ρ‚ΠΎΠ³ΠΎ Π½Π΅ зная, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сообщСния элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Base64, особСнно для писСм, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ (Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅).

Base64 β€” стандарт кодирования Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 64 символов ASCII. Алфавит кодирования содСрТит тСкстово-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ латинскиС символы A-Z, a-z ΠΈ 0-9 (62 Π·Π½Π°ΠΊΠ°) ΠΈ 2 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… символа, зависящих ΠΎΡ‚ систСмы Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹Π΅ 3 исходных Π±Π°ΠΉΡ‚Π° ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ 4 символами (ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ¹⁄₃).

Π­Ρ‚Π° систСма ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² элСктронной ΠΏΠΎΡ‡Ρ‚Π΅ для прСдставлСния Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² тСкстС письма (транспортноС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅).

Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ сСрвис Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΌΠ΅Π΅Ρ‚ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· Base64, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Base64, Π½ΠΎ имССтся ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ: довольно часто длинная строка Base64 Π² email разбиваСтся Π½Π° строки ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ (ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ удобства). Π’ сСрвисС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π½Π° ссылка, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ лишниС ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ строк, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² ΠΎΠ΄Π½Ρƒ строку, ΠΈΠ½Π°Ρ‡Π΅ послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа «новая строка» сообщСниС Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π½Π΅Π²Π΅Ρ€Π½ΠΎ.

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° UTF-8

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ отобраТаСмая ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° UTF-8 выглядит ΠΊΠ°ΠΊ большиС Π±ΡƒΠΊΠ²Ρ‹ N ΠΈ D с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ линиями, Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΠΎΠ±ΠΈ 3/4.

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° UTF-8 ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ISO-8859-1 ΠΈΠ»ΠΈ CP1258. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ сСрвиса Ρ‚Π°ΠΊΠΈΠ΅ строки ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ссли ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΎΠΊΠ½Π° Quoted-printable ΠΈΠ»ΠΈ URL.

UTF-8 ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° обработанная ΠΊΠ°ΠΊ ANSI Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ строки ΠΈΠ· Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±ΡƒΠΊΠ² P, C, Π“ ΠΈ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… Π±ΡƒΠΊΠ² r ΠΈ s:

Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ особСнно часто ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² исходном ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ строка записанная Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚ΠΎ скопируйтС Π΅Ρ‘ Π² ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ:

Π’Π°ΠΊΠΈΠ΅ строки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ситуациях, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ написанныС Π±ΡƒΠΊΠ²Π°ΠΌΠΈ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° строки исказятся (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠΉΠΌΡ‘Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Π²Π΅Π±-страницы):

Как ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² экранированныС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

На этой ΠΆΠ΅ страницС, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π² саму ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒ своё ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ строк, ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Π½Ρ‹ΠΌΠΈ символами, ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ символы, ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ… записи строк ΠΈ ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ с Π½ΠΈΠΌΠΈ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚ΠΎ рСкомСндуСтся для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΊΡ€ΡƒΠ³ΠΎΠ·ΠΎΡ€Π° ΡΡ‚Π°Ρ‚ΡŒΡ Β«ASCII ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС строк. ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со строками».

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ строки ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π±Π΅Π· сторонних сСрвисов

Π₯отя ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ сСрвис НЕ отсылаСт Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° сСрвСр, Π° обходится ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΌ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ сайты.

Double Commander ΠΏΡ€ΠΈ просмотрС тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² (для этого Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ F3) ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (F4) Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ послС открытия ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ.

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для Ρ‚Π΅Ρ…, Ρƒ ΠΊΠΎΠ³ΠΎ Linux, β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ нСпонятной строки, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Ρ‘ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ. Для этого смотритС ΡΡ‚Π°Ρ‚ΡŒΡŽ «Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ строки. Как ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ UTF-8 Π² LinuxΒ».

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

АвтоопрСдСлСниС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ тСкста

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π― ΠΎΡ‡Π΅Π½ΡŒ люблю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, я Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒ ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ послСдний Ρ€Π°Π· Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π² Π΄Π°Π»Ρ‘ΠΊΠΎΠΌ 1996 Π³ΠΎΠ΄Ρƒ. Но для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ повсСднСвных Π·Π°Π΄Π°Ρ‡ ΠΈΠ½ΠΎΠ³Π΄Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΈΡˆΡƒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ ΠΎΡ‚ΠΊΡ€Ρ‹Π» для сСбя golang. Π’ качСствС инструмСнта создания ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ golang оказался ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ. Π˜Ρ‚Π°ΠΊ.

Π’ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ большоС количСство (большС тысячи, Ρ‚Π°ΠΊ ΠΈ Π²ΠΈΠΆΡƒ ΡƒΠ»Ρ‹Π±ΠΊΠΈ ΠΏΡ€ΠΎΡ„ΠΈ) Π°Ρ€Ρ…ΠΈΠ²Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ гСофизичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ² тСкстовый, простой. Если Π²Π΄Ρ€ΡƒΠ³ интСрСсно Ρ‚ΠΎ это LAS Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.
LAS Ρ„Π°ΠΉΠ» содСрТит Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅.

Π”Π°Π½Π½Ρ‹Π΅ практичСски CSV, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ табуляция ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹.

А Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ содСрТит описаниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²ΠΎΡ‚ Π² Π½Ρ‘ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ содСрТится русский тСкст. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ мСстороТдСния, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ исслСдований, записанных Π² Ρ„Π°ΠΉΠ» ΠΈ ΠΏΡ€.

Π€Π°ΠΉΠ»Ρ‹ эти созданы Π² Ρ€Π°Π·Π½ΠΎΠ΅ врСмя ΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Ρ‡Π°ΡΡ‚ΡŒ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ CP1251, Π° Ρ‡Π°ΡΡ‚ΡŒ Π² CP866. Π€Π°ΠΉΠ»Ρ‹ эти ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ. Π’ΠΎΡ‚ ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ автоматичСски ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Ρ„Π°ΠΉΠ»Π°.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΈΠ·ΠΎΠ±Ρ€Ρ‘Π» вСлосипСд Π½Π° golang ΠΈ соотвСтствСнно Ρ€ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ малСнькая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡ΠΊΠ° с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ страницу.

ΠŸΡ€ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ. НС Ρ‚Π°ΠΊ Π΄Π°Π²Π½ΠΎ Π½Π° Ρ…Π°Π±Ρ€Π΅ Π±Ρ‹Π»Π° Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ тСкста. ΠžΡ‚ΠΊΡƒΠ΄Π° ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ «кракозябры». ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ кодирования. ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€ Если хочСтся ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ β€œΠΊΡ€Π°ΠΊΠΎΠ·ΡΠ±Ρ€Ρ‹β€ ΠΈΠ»ΠΈ β€œΠΊΠΎΡΡ‚ΠΈβ€, Ρ‚ΠΎ стоит ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

Π’ Π½Π°Ρ‡Π°Π»Π΅ я Π½Π°ΠΊΠΈΠ΄Π°Π» своё Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. ΠŸΠΎΡ‚ΠΎΠΌ пытался Π½Π°ΠΉΡ‚ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° golang, Π½ΠΎ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ. Нашлось Π΄Π²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΎΠ±Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

ОбС ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ ΠΎΡˆΠΈΠ±Π°ΡŽΡ‚ΡΡ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ…. Бтандартная Ρ‚Π° Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎ тСкстовым Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΎΠ½ΠΎ ΠΈ понятно, Π΅Ρ‘ для html страниц Π΄Π΅Π»Π°Π»ΠΈ.

ΠŸΡ€ΠΈ поискС часто натыкался Π½Π° Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΈΠ· ΠΌΠΈΡ€Π° linux β€” enca. ΠΠ°ΡˆΡ‘Π» Π΅Ρ‘ Π²Π΅Ρ€ΡΠΈΡŽ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ для WIN32, вСрсия 1.12. Π•Ρ‘ я Ρ‚ΠΎΠΆΠ΅ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΡŽ, Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ забавности. Π― ΠΏΡ€ΠΎΡˆΡƒ сразу прощСния Π·Π° своё ΠΏΠΎΠ»Π½ΠΎΠ΅ Π½Π΅Π·Π½Π°Π½ΠΈΠ΅ linux, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ ΠΊ golang ΠΊΠΎΠ΄Ρƒ, я большС ΠΈΡΠΊΠ°Ρ‚ΡŒ Π½Π΅ стал.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° Π°Π²Ρ‚ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ» ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ softlandia\cpd тСстовыС Π΄Π°Π½Π½Ρ‹Π΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ…. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅. Одна строка β€œΠ ΡƒΡΡΠΊΠΈΠΉ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ CodePageName”. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΠ» Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ со смСшСниСм ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ слоТными случаями ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ.

МнС каТСтся, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π·Π°Π±Π°Π²Π½ΠΎ.

#ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°html/charsetsaintfish/chardetsoftlandia/cpdenca
1CP1251windows-1252CP1251CP1251CP1251
2CP866windows-1252windows-1252CP866CP866
3KOI8-Rwindows-1252KOI8-RKOI8-RKOI8-R
4ISO-8859-5windows-1252ISO-8859-5ISO-8859-5ISO-8859-5
5UTF-8 with BOMutf-8utf-8utf-8utf-8
6UTF-8 without BOMutf-8utf-8utf-8utf-8
7UTF-16LE with BOMutf-16leutf-16leutf-16leISO-10646-UCS-2
8UTF-16LE without BOMwindows-1252ISO-8859-1utf-16leunknown
9UTF-16BE with BOMutf-16leutf-16beutf-16beISO-10646-UCS-2
10UTF-16BE without BOMwindows-1252ISO-8859-1utf-16beISO-10646-UCS-2
11UTF-32LE with BOMutf-16leutf-32leutf-32leISO-10646-UCS-4
12UTF-32LE without BOMwindows-1252utf-32leutf-32leISO-10646-UCS-4
13UTF-32BE with BOMwindows-1252utf-32beutf-32beISO-10646-UCS-4
14UTF-32BE without BOMwindows-1252utf-32beutf-32beISO-10646-UCS-4
15KOI8-R (UPPER)windows-1252KOI8-RKOI8-RCP1251
16CP1251 (UPPER)windows-1252CP1251CP1251KOI8-R
17CP866 & CP1251windows-1252CP1251CP1251unknown

НаблюдСниС 1

enca Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Ρƒ Ρ„Π°ΠΉΠ»Π° UTF-16LE Π±Π΅Π· BOM β€” это странно, Π½Ρƒ Π»Π°Π΄Π½ΠΎ. Π― ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ большС тСкста, Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ».

НаблюдСниС 2. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ CP1251 ΠΈ KOI8-R

Π‘Ρ‚Ρ€ΠΎΠΊΠ° 15 ΠΈ 16. Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ enca Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.
Π—Π΄Π΅ΡΡŒ сдСлаю объяснСниС, Π΄Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ CP1251 (ΠΎΠ½Π° ΠΆΠ΅ Windows 1251) ΠΈ KOI8-R ΠΎΡ‡Π΅Π½ΡŒ Π±Π»ΠΈΠ·ΠΊΠΈ Ссли Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹Π΅ символы.

Π’Π°Π±Π»ΠΈΡ†Π° CP 1251

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

Π’Π°Π±Π»ΠΈΡ†Π° KOI8-r

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

Π’ ΠΎΠ±Π΅ΠΈΡ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ… Π°Π»Ρ„Π°Π²ΠΈΡ‚ располоТСн ΠΎΡ‚ 0xC0 Π΄ΠΎ 0xFF, Π½ΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Ρƒ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹, Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ строчныС. Будя ΠΏΠΎ всСму enca, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ строчным Π±ΡƒΠΊΠ²Π°ΠΌ. Π’ΠΎΡ‚ ΠΈ получаСтся, Ссли ΠΏΠΎΠ΄Π°Ρ‚ΡŒ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ enca строку β€œΠ‘Π’ΠŸβ€ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ CP1251, Ρ‚ΠΎ ΠΎΠ½Π° Ρ€Π΅ΡˆΠΈΡ‚, Ρ‡Ρ‚ΠΎ это строка β€œΡΡ€ΠΎβ€ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ KOI8-r, ΠΎ Ρ‡Ρ‘ΠΌ ΠΈ сообщит. Π’ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ сторону Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

НаблюдСниС 3

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ html/charset ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ UTF-8, Π½ΠΎ остороТно! ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ слСдуСт ΠΈΠΌΠ΅Π½Π½ΠΎ charset.DetermineEncoding(), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ utf8.Valid(b []byte) Π½Π° Ρ„Π°ΠΉΠ»Π°Ρ… Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ utf-16be Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true.

БобствСнный вСлосипСд

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

АвтоопрСдСлСниС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ эвристичСскими ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎ. Если ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ записан тСкстовый Ρ„Π°ΠΉΠ», Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ с высокой Ρ‚ΠΎΡ‡Π½ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ навСрняка ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ слоТновато… ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ достаточно ΠΌΠ½ΠΎΠ³ΠΎ тСкста.

Для мСня такая Ρ†Π΅Π»ΡŒ Π½Π΅ стояла. МнС достаточно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ русский язык. И Π²Ρ‚ΠΎΡ€ΠΎΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ количСству символов – Π½Π° 10 символах Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ достаточно ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Π° ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π° 5–6 символах.

Алгоритм

Когда я ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» совпадСниС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ KOI8-r ΠΈ CP1251 ΠΏΠΎ ΠΌΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°, Ρ‚ΠΎ Π½Π° ΠΏΠ°Ρ€Ρƒ Π΄Π½Π΅ΠΉ загрустил… стало понятно, Ρ‡Ρ‚ΠΎ Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ придётся ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Ρ‚Π°ΠΊ.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ соотвСтствия

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅ΠΌ являСтся количСство самых популярных Π±ΡƒΠΊΠ² русского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°.

НаиболСС часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Ρ‹: ΠΎ, Π΅, Π°, ΠΈ, Π½, Ρ‚, с, Ρ€, Π², Π», ΠΊ, ΠΌ, Π΄, ΠΏ, Ρƒ. Π”Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ Π΄Π°ΡŽΡ‚ 82% покрытия. Для всСх ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΊΡ€ΠΎΠΌΠ΅ KOI8-r ΠΈ CP1251 я использовал Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 9 Π±ΡƒΠΊΠ²: ΠΎ, Π΅, Π°, ΠΈ, Π½, Ρ‚, с, Ρ€, Π². Π­Ρ‚ΠΎΠ³ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ для ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ опрСдСлСния.

А Π²ΠΎΡ‚ для KOI8-r ΠΈ CP1251 ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ напильником. ΠšΠΎΠ΄Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· этих Π±ΡƒΠΊΠ² ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠΊΠ²Π° ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π² CP1251 ΠΊΠΎΠ΄ 0xEE ΠΏΡ€ΠΈ этом Π² KOI8-r этот ΠΊΠΎΠ΄ Ρƒ Π±ΡƒΠΊΠ²Ρ‹ Π½. Для этих ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ Π±Ρ‹Π»ΠΈ взяты ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ популярныС Π±ΡƒΠΊΠ²Ρ‹. Для CP1251 использовал Π°, ΠΈ, Π½, с, Ρ€, Π², Π», ΠΊ, я. Для KOI8-r β€” ΠΎ, Π°, ΠΈ, Ρ‚, с, Π², Π», ΠΊ, ΠΌ.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ

К соТалСнию, для ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… случаСв (общая Π΄Π»ΠΈΠ½Π° русского тСкста 5-6 символов) Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Π΅ΠΌΠΎΡΡ‚ΡŒ популярных Π±ΡƒΠΊΠ² Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ 1-3 ΡˆΡ‚ ΠΈ происходит нахлёст ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ KOI8-r ΠΈ CP1251. ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ. ΠŸΠΎΠ΄ΡΡ‡Ρ‘Ρ‚ количСства ΠΏΠ°Ρ€ согласная+гласная.
Π’Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² русском языкС ΠΈ соотвСтствСнно Π² Ρ‚ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ число Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ°Ρ€ большС, Ρ‚Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ больший ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ.

Π’Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ ΠΎΠ±Π° критСрия, ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ получСнная сумма являСтся ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΌ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅ΠΌ.
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π²Ρ‹ΡˆΠ΅.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ я столкнулся

Π§ΡƒΡ‚ΡŒ ΠΊΠΎΡΠ½ΡƒΡΡŒ прСлСстСй ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, связанных с golang. Π Π°Π·Π΄Π΅Π» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° golang.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

Π›ΠΈΡ‡Π½ΠΎ ΠΏΠΎΡ…ΠΎΠ΄ΠΈΠ» ΠΏΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹ΠΌ ΠΊΠ°ΠΌΡƒΡˆΠΊΠ°ΠΌ ΠΈΠ· 50 ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΎΠ² Go: Π»ΠΎΠ²ΡƒΡˆΠΊΠΈ, ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ ΠΈ распространённыС ошибки Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ².
ИзлишнС пСрСТивая ΠΈ ΠΏΡ‹Ρ‚Π°ΡΡΡŒ Π΄ΡƒΡ‚ΡŒ Π½Π° Π²ΠΎΠ΄Ρƒ, ΠΏΡ€ΠΎΡΠ»Ρ‹ΡˆΠ°Π² ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½Ρ‹Ρ… ΠΎΠΆΠΎΠ³Π°Ρ… ΠΎΡ‚ ΠΌΠΎΠ»ΠΎΠΊΠ°, ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Ρ‰ΠΈΠ» с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ‚ΠΈΠΏΠ° io.Reader. Π― провСрял ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° io.Reader с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСфлСксии.

Но ΠΊΠ°ΠΊ оказалось Π² ΠΌΠΎΡ‘ΠΌ случаС достаточно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° nil. Π’Π΅ΠΏΠ΅Ρ€ΡŒ всё стало ΠΏΡ€ΠΎΡ‰Π΅

Π²Ρ‹Π·ΠΎΠ² bufio.NewReader( r ).Peek(ReadBufSize) спокойно ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСст:

Π’ этом случаС Peek() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π Π°Π·ΠΎΠΊ наступил Π½Π° Π³Ρ€Π°Π±Π»ΠΈ с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ массивов ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. НСмного Ρ‚ΡƒΠΏΠ°Π½ΡƒΠ» Π½Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ элСмСнты, хранящиСся Π² map, пробСгая ΠΏΠΎ Π½ΠΈΠΌ Π² range…

ΠŸΡ€Π΅Π»Π΅ΡΡ‚ΠΈ

Π‘Π»ΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, постоянноС Π»ΠΈ Π±ΠΈΡ‚ΡŒΡ‘ ΠΏΠΎ Ρ€ΡƒΠΊΠ°ΠΌ ΠΎΡ‚ Π»ΠΈΠ½Ρ‚Π΅Ρ€Π° ΠΈ компилятора ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ использованиС range, ΠΈΠ»ΠΈ всё вмСстС, Π½ΠΎ практичСски ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π·Π°Π»Ρ‘Ρ‚Ρ‹ ΠΏΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ индСкса Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΡ‡Π΅Π½ΡŒ приятно ΠΆΠΈΡ‚ΡŒ со сборщиком мусора. Полагаю ΠΌΠ½Π΅ Π΅Ρ‰Ρ‘ прСдстоит ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Π±Π»ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ выдСлСния/освобоТдСния памяти, Π½ΠΎ ΠΏΠΎΠΊΠ° дСбильная ΡƒΠ»Ρ‹Π±ΠΊΠ° Π½Π΅ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅Ρ‚ Π»ΠΈΡ†Π°.
Бтрогая типизация β€” Ρ‚ΠΎΠΆΠ΅ кусочСк ΡΡ‡Π°ΡΡ‚ΡŒΡ.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” соотвСтствСнно лёгкая рСализация Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ повСдСния Ρƒ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π‘Ρ‚Ρ€Π°Π½Π½ΠΎ ΠΌΠ°Π»ΠΎ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡΠΈΠ΄Π΅Ρ‚ΡŒ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅, ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄Π°Ρ‘Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

ЩСнячий восторг ΠΎΡ‚ наличия массы инструмСнтов ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ, это Ρ‡ΡƒΠ΄Π½ΠΎΠ΅ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° компилятор, язык, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈ IDE Visual Studio Code Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° тСбя вмСстС, слаТСнно.

Бпасибо falconandy Π·Π° конструктивныС ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты
Благодаря Π΅ΠΌΡƒ

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ тСсты, выявился случай Π½Π΅ опрСдСлСния UTF16. Обновил. Π’Π΅ΠΏΠ΅Ρ€ΡŒ UTF16 ΠΈ LE ΠΈ BE ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄Π°ΠΆΠ΅ Π² случаС отсутствия русских Π±ΡƒΠΊΠ²

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ тСкста Π² PHP β€” ΠΎΠ±Π·ΠΎΡ€ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ плюс Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ вСлосипСд

Бтолкнулся с Π·Π°Π΄Π°Ρ‡Π΅ΠΉ β€” Π°Π²Ρ‚ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ страницы/тСкста/Ρ‡Π΅Π³ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π—Π°Π΄Π°Ρ‡Π° Π½Π΅ Π½ΠΎΠ²Π°, ΠΈ вСлосипСдов ΠΏΠΎΠ½Π°ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½ΠΎ ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ нСбольшой ΠΎΠ±Π·ΠΎΡ€ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Π² сСти β€” плюс ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ своСго, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ каТСтся, достойного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Если ΠΊΡ€Π°Ρ‚ΠΊΠΎ β€” ΠΎΠ½ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ:

Как Π²ΠΈΠ΄ΠΈΠΌ, Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ β€” полная каша. Π§Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° нСпонятно ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ сСбя Π²Π΅Π΄Π΅Ρ‚ функция? ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π³ΡƒΠ³Π»ΠΈΠΌ. НашСл Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π²Π΅ΡΡ‚ΡŒ всС Π½Π°Π΄Π΅ΠΆΠ΄Ρ‹ Π½Π° использованиС mb_detect_encoding(), Π½Π°Π΄ΠΎ Π·Π°Π»Π΅Π·Ρ‚ΡŒ Π² исходники Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ mbstring. Π˜Ρ‚Π°ΠΊ, Π·Π°ΠΊΠ°Ρ‚Π°Π»ΠΈ Ρ€ΡƒΠΊΠ°Π²Π°, ΠΏΠΎΠ΅Ρ…Π°Π»ΠΈ:

ΠŸΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ тСкст ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅ Π±ΡƒΠ΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π·Π°ΡΠΎΡ€ΡΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ лишними исходниками. ΠšΠΎΠΌΡƒ это интСрСсно посмотрят сами. Нас истСрСсуСт строка ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 593, Π³Π΄Π΅ собствСнно ΠΈ происходит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ символ ΠΏΠΎΠ΄ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ:

Π’ΠΎΡ‚ основныС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ для ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΉ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹:

Windows-1251 (ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ сохранСны)

ISO-8859-5 (Ρ‚ΡƒΡ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅ всС вСсСло)

Как Π²ΠΈΠ΄ΠΈΠΌ, ISO-8859-5 всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ TRUE (Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ FALSE, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ filter->flag = 1).

Когда посмотрСли Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹, всС встало Π½Π° свои мСста. CP1251 ΠΎΡ‚ KOI8-R Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊ. ISO-8859-5 Π²ΠΎΠΎΠ±Ρ‰Π΅ Ссли Π΅ΡΡ‚ΡŒ Π² спискС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ β€” Π±ΡƒΠ΄Π΅Ρ‚ всСгда Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ вСрная.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, fail. Оно ΠΈ понятно β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΊΠΎΠ΄Π°ΠΌ символов нСльзя Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ эти ΠΊΠΎΠ΄Ρ‹ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ….

2. Π§Ρ‚ΠΎ Π²Ρ‹Π΄Π°Π΅Ρ‚ Π³ΡƒΠ³Π»

А Π³ΡƒΠ³Π» Π²Ρ‹Π΄Π°Π΅Ρ‚ всякиС убоТСства. Π”Π°ΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Ρƒ ΠΏΠΎΡΡ‚ΠΈΡ‚ΡŒ сюда исходники, сами посмотритС, Ссли Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ (ΡƒΠ±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π΅Π» послС http://, Π½Π΅ знаю я ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ тСкст Π½Π΅ ссылкой):

http:// deer.org.ua/2009/10/06/1/
http:// php.su/forum/topic.php?forum=1&topic=1346

3. Поиск ΠΏΠΎ Ρ…Π°Π±Ρ€Ρƒ

2) Π½Π° ΠΌΠΎΠΉ взгляд, ΠΎΡ‡Π΅Π½ΡŒ интСрСсноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: habrahabr.ru/blogs/php/27378/#comment_1399654
ΠœΠΈΠ½ΡƒΡΡ‹ ΠΈ ΠΏΠ»ΡŽΡΡ‹ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π΅ ΠΏΠΎ ссылкС. Π›ΠΈΡ‡Π½ΠΎ я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π΄Π΅Ρ‚Π΅ΠΊΡ‚Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎ β€” слишком ΠΌΠΎΡ‰Π½ΠΎ получаСтся. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² Π½Π΅ΠΌ β€” ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΉ эффСкт ).

4. БобствСнно, ΠΌΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

ИдСя Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π²ΠΎ врСмя просмотра Π²Ρ‚ΠΎΡ€ΠΎΠΉ ссылки ΠΈΠ· ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°. ИдСя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ: Π±Π΅Ρ€Π΅ΠΌ большой русский тСкст, замСряСм частоты Ρ€Π°Π·Π½Ρ‹Ρ… Π±ΡƒΠΊΠ², ΠΏΠΎ этим частотам Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ. ЗабСгая Π²ΠΏΠ΅Ρ€Π΅Π΄, сразу скаТу β€” Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с большими ΠΈ малСнькими Π±ΡƒΠΊΠ²Π°ΠΌΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ частот Π±ΡƒΠΊΠ² (Π½Π°Π·ΠΎΠ²Π΅ΠΌ это β€” «спСктр») ΠΊΠ°ΠΊ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра, Ρ‚Π°ΠΊ ΠΈ Π±Π΅Π· (Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС ΠΊ малСнькой Π±ΡƒΠΊΠ²Π΅ добавлял Π΅Ρ‰Π΅ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ с Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ частотой, Π° большиС всС удалял). Π’ этих «спСктрах» Π²Ρ‹Ρ€Π΅Π·Π°Π½Ρ‹ всС Π±ΡƒΠΊΠ²Ρ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ частоты мСньшС 0,001 ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π». Π’ΠΎΡ‚, Ρ‡Ρ‚ΠΎ Ρƒ мСня ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ послС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Β«Π’ΠΎΠΉΠ½Ρ‹ ΠΈ ΠœΠΈΡ€Π°Β»:

Π‘ΠΏΠ΅ΠΊΡ‚Ρ€Ρ‹ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ… (ΠΊΠ»ΡŽΡ‡ΠΈ массива β€” ΠΊΠΎΠ΄Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… символов Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅):

Π”Π°Π»Π΅Π΅. Π‘Π΅Ρ€Π΅ΠΌ тСкст нСизвСстной ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ, для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ провСряСмой ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ частоту Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ символа ΠΈ прибавляСм ΠΊ Β«Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΡƒΒ» этой ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° с бОльшим Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΎΠΌ ΠΈ Π΅ΡΡ‚ΡŒ, скорСС всСго, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° тСкста.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

Π£-упс! Полная каша. А ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ большиС Π±ΡƒΠΊΠ²Ρ‹ Π² CP1251 ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ малСньким Π² KOI8-R. А малСнькиС Π±ΡƒΠΊΠ²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ большиС. Π’ΠΎΡ‚ ΠΈ опрСдСляСм строку капсом Π² CP1251 ΠΊΠ°ΠΊ KOI8-R.
ΠŸΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра («спСктры» case insensitive)

Как Π²ΠΈΠ΄ΠΈΠΌ, вСрная ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ с рСгистрозависимыми «спСктрами» (Ссли строка содСрТит нСбольшоС количСство Π·Π°Π³Π»Π°Π²Π½Ρ‹Ρ… Π±ΡƒΠΊΠ²), ΠΈ с рСгистронСзависимыми. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС, с рСгистронСзависимыми, Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π½Π° ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… строках. МоТно ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒΡΡ Π΅Ρ‰Π΅ с вСсами Π±ΡƒΠΊΠ² β€” ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡ… Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ частоты, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

5. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ‚ΠΎΠΏΠΈΠΊΠ΅ Π½Π΅ расмотрСна Ρ€Π°Π±ΠΎΡ‚Π° с UTF-8 β€” Ρ‚ΡƒΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π½Π΅Ρ‚Ρƒ, Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ² символов ΠΈ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ строки Π½Π° символы Π±ΡƒΠ΄Π΅Ρ‚ нСсколько Π΄Π»ΠΈΠ½Π½Π΅Π΅/слоТнСС.
Π­Ρ‚ΠΈ ΠΈΠ΄Π΅ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° кирилличСскиС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ β€” вопрос Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² «спСктрах» ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… языков/ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ.

P.S. Если Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠΆΠ½ΠΎ/интСрСсно β€” ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‹Π»ΠΎΠΆΡƒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π½Π° GitHub. Π₯отя я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… Π² постС Π²ΠΏΠΎΠ»Π½Π΅ достаточно для быстрого написания Ρ‚Π°ΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ самому ΠΏΠΎΠ΄ свои Π½ΡƒΠΆΠ΄Ρ‹ β€” «спСктр» для русского языка Π²Ρ‹Π»ΠΎΠΆΠ΅Π½, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° пСрСнСсти Π½Π° всС Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ.

UPDATED
Π’ коммСнтариях проскочила Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ функция, ссылку Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΠΏΠΎΠ΄ Π³Ρ€Π°Ρ„ΠΎΠΌ «убоТСство». ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ погорячился со словами, Π½ΠΎ ΡƒΠΆ ΠΊΠ°ΠΊ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π», Ρ‚Π°ΠΊ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» β€” Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ голословным, Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ ΠΎΠ½Π° Π½Π° 100%, ΠΊΠ°ΠΊ ΠΎΠ± этом Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ Π°Π²Ρ‚ΠΎΡ€.
1) Π±ΡƒΠ΄ΡƒΡ‚ Π»ΠΈ ошибки ΠΏΡ€ΠΈ Β«Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉΒ» Ρ€Π°Π±ΠΎΡ‚Π΅ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ? ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Ρƒ нас Π½Π° 100% Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ.
ΠΎΡ‚Π²Π΅Ρ‚: Π΄Π°, Π±ΡƒΠ΄ΡƒΡ‚.
2) ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ Π»ΠΈ ΠΎΠ½Π° Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΊΡ€ΠΎΠΌΠ΅ UTF-8 ΠΈ Π½Π΅-UTF-8?
ΠΎΡ‚Π²Π΅Ρ‚: Π½Π΅Ρ‚, Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ строки. Как ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ UTF-8 Π² Linux

Π’ этой инструкции ΠΌΡ‹ опишСм Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° символов ΠΈ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ с использованиСм инструмСнта ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. НаконСц, ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π° Linux ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° символов (charset) Π² UTF-8 ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΡƒΠΆΠ΅ Π² курсС, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΈ Π½Π΅ сохраняСт Π±ΡƒΠΊΠ²Ρ‹, числа ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Ρ‡Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ люди. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π±ΠΈΡ‚Π°ΠΌΠΈ. Π‘ΠΈΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… значСния: 0 ΠΈΠ»ΠΈ 1, «истина» ΠΈΠ»ΠΈ «лоТь», Β«Π΄Π°Β» ΠΈΠ»ΠΈ Β«Π½Π΅Ρ‚Β». ВсС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, Π²Ρ€ΠΎΠ΄Π΅ Π±ΡƒΠΊΠ², Ρ†ΠΈΡ„Ρ€, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Π² Π±ΠΈΡ‚Π°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΌΠΎΠ³ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ.

Говоря простыми словами, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° символов – это способ информирования ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходныС Π½ΡƒΠ»ΠΈ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ символы, Π³Π΄Π΅ символ прСдставлСн Π½Π°Π±ΠΎΡ€ΠΎΠΌ чисСл. Когда ΠΌΡ‹ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ тСкст Π² Ρ„Π°ΠΉΠ»Π΅, слова ΠΈ прСдлоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ, готовятся ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… символов, Π° символы ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ.

Π˜ΠΌΠ΅ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ схСмы кодирования, срСди Π½ΠΈΡ… Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ASCII, ANSI, Unicode. НиТС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ASCII ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для опрСдСлСния ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² Linux

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Ρ„Π°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° file с Ρ„Π»Π°Π³Π°ΠΌΠΈ -i ΠΈΠ»ΠΈ —mime, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π²Ρ‹Π²ΠΎΠ΄ строки с Ρ‚ΠΈΠΏΠΎΠΌ MIME. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

Команда file ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ, Π½ΠΎ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠΎΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠ½Π° Π½Π΅Π²Π΅Ρ€Π½Π°. Рассмотрим Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Ρƒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° enca для опрСдСлСния ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ„Π°ΠΉΠ»Π°

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° enca опрСдСляСт ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ, Ссли Π½ΡƒΠΆΠ½ΠΎ, ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡ….

Установим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ enca:

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

Π’ этот Ρ€Π°Π· для ΠΎΠ±ΠΎΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π²Π΅Ρ€Π½ΠΎ.

Запуск ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π΅Π· ΠΎΠΏΡ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для чтСния людьми. Для использования Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² скриптах Π΅ΡΡ‚ΡŒ опция -e, ΠΎΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ΅ имя, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ Π² enca:

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для названия ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ Π² iconv, Ρ‚ΠΎ для этого Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΎΠΏΡ†ΠΈΠ΅ΠΉ -i:

Для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ MIME ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ опция -m:

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

Для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ опрСдСлСния ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ enca Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ язык Ρ„Π°ΠΉΠ»Π°. Она ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»ΠΈ. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ссли локаль вашСй систСмы отличаСтся ΠΎΡ‚ языка Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ смоТСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ.

Π―Π·Ρ‹ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΠ΅ΠΉ -L:

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ список доступных языков Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅:

Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ строки

Для опрСдСлСния, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ строка, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… конструкций:

ВмСсто БВРОКА_Π”Π›Π―_ΠŸΠ ΠžΠ’Π•Π ΠšΠ˜ Π²ΠΏΠΈΡˆΠΈΡ‚Π΅ строку, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ. Если Ρƒ вас строка Π½Π΅ Π½Π° русском языкС, Ρ‚ΠΎ ΠΎΡ‚ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ -L.

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

Если Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ сообщСниС ΠΎΠ± ошибкС:

Ρ‚ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ chardet ΠΈΠ· стандартных Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².

Если chardet Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° Π² рСпозиториях, Ρ‚ΠΎ ΠΏΠΎΠΈΡ‰ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ uchardet, Π·Π°Ρ‚Π΅ΠΌ установитС ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Ρ‘.

ИзмСнСниС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² Linux

ИспользованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ iconv

Π’ Linux для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ тСкста ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° iconv.

Бинтаксис использования iconv ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

Π“Π΄Π΅ -f ΠΈΠ»ΠΈ —from-code ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ исходного Ρ„Π°ΠΉΠ»Π° -t ΠΈΠ»ΠΈ —to-encoding ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π€Π»Π°Π³ -o являСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Ссли Π΅Π³ΠΎ Π½Π΅Ρ‚, Ρ‚ΠΎ содСрТимоС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² стандартном Π²Ρ‹Π²ΠΎΠ΄Π΅.

Π§Ρ‚ΠΎΠ±Ρ‹ вывСсти список всСх ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ, запуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· windows-1251 Π² UTF-8 ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ научимся, ΠΊΠ°ΠΊ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ схСмы кодирования (ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ) Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° наша ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· windows-1251 (которая Ρ‚Π°ΠΊΠΆΠ΅ называСтся CP1251) Π² UTF-8 ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ.

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» mypoem_draft.txt Π΅Π³ΠΎ содСрТимоС выводится ΠΊΠ°ΠΊ

ΠœΡ‹ Π½Π°Ρ‡Π½Ρ‘ΠΌ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ символов Π² Ρ„Π°ΠΉΠ»Π΅, просмотрим содСрТимоС Ρ„Π°ΠΉΠ»Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ просмотрим содСрТимоС Ρ„Π°ΠΉΠ»Π° Π΅Ρ‰Ρ‘ Ρ€Π°Π·.

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Ссли ΠΊ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку //IGNORE, Ρ‚ΠΎ символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈ послС ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ошибка.

Если ΠΊ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ добавляСтся строка //TRANSLIT, ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ символы ΠΏΡ€ΠΈ нСобходимости ΠΈ возмоТности Π±ΡƒΠ΄ΡƒΡ‚ транслитСрированы. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° символ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ символов, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Ρ‘Π½ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ нСсколькими выглядящими ΠΏΠΎΡ…ΠΎΠΆΠ΅ символами. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π½Π΅ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° символов ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ транслитСрированы, Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π·Π½Π°ΠΊΠΎΠΌ вопроса (?).

ИзмСнСниС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ enca

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° enca Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, Π½ΠΎ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ создаёт Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π° измСняСт ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Π² исходном. Π–Π΅Π»Π°Π΅ΠΌΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ послС ΠΊΠ»ΡŽΡ‡Π° -x:

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ строки Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ

Команда iconv ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строки Π² Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ. Для этого строка пСрСдаётся ΠΏΠΎ стандартному Π²Π²ΠΎΠ΄Ρƒ. Достаточно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ†ΠΈΡŽ -f для указания ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π° строка. Π’.Π΅. ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°:

ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ тСкст

Π’Π°ΠΊΠΆΠ΅ для измСнСния ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *