Таблиця кодів символів windows 1251: ASCII Windows (Win-1251)
Содержание
Таблицы кодировок ASCII, CP1251 (windows1251), ISO-8859-5 — Микроконтроллеры для всех
Таблица ASCII
Таблица ASCII (American standard code for information interchange) является мировым стандартом для кодирования букв английского алфавита, популярных спец символов (! $ # % & и т.д.) и некоторых непечатных символов (например, возврат каретки 0x0D и перенос строки 0х0А).
Таблица создавалась те времена, когда возникла необходимость связать символы и числа. А такое соответствие необходимо было для того что бы с помощью чисел можно было передать текстовое сообщение между разными устройствами с цифровой связью.
Таблица CP1251 (windows-1251)
Эта кодировочная таблица может называться или CP1251 или Windows-1251 Это стандарт кодирования кириллических символов в операционных системах windows с русскоязычным интерфейсом.
Первая часть этой таблицы (до байта 0x7F) повторяет таблицу ASCII, а вторая часть (от 0x80 до 0xFF) кодирует кириллические символы в алфавитном порядке.
CP1251 (windows-1251)
Таблица IS0-8859-5
Эта кодировка применяется в дисплеях Nextion для кодирования кириллических символов.
Стоит обратить внимание, что в данной таблице кириллические символы расположены в алфавитном порядке и сдвинуты ровно на 16 байт по сравнению с кодировочной таблицей windows-1251.
Кодировка UTF-8
(Unicode Transformation Format)
Очень распространенный формат кодирования символов, позволяющий кодировать символы переменным количеством байт.
Например, если для кодирования номера символа требуется 21 бит, то используется 4 байта для кодировки. Если для кодирования достаточно 11 бит, то используют 2 байта. А если номер символа может быть закодирован 7 битами, то используется один байт.
Кодировка UTF-8
Все ASCII символы в кодировке UTF8 закодированы без изменений, то есть 1 байтом, как в стандартной таблице ASCII.
А вот остальные символы закодированы количеством байт от 2 до 4.
Кириллические символы закодированы двумя байтами.
Кодування символів » Народна Освіта
1. Що таке кодування повідомлень? З якою метою кодують повідомлення?
2. Наведіть приклади кодування повідомлень.
3. Що таке декодування повідомлень?
КОДУВАННЯ СИМВОЛІВ ТЕКСТУ
Для опрацювання текстових повідомлень з використанням комп’ютера символи повідомлення кодують числами.
Телетайп (лат. tele — віддалений, англ. type — друкування) — електромеханічна друкуюча машина, яку використовують для передавання текстових повідомлень дротами.
Для кодування тексту використовують таблиці кодів символів, у яких для кожного символа, що може бути використаний у текстовому повідомленні, ставиться у відповідність деяке число. У 1963 р. у США було розроблено набір таких кодів символів для передавання повідомлень телетайпом. Пізніше він став стандартом для використання в комп’ютерній техніці й отримав назву таблиці кодів символів ASCII (англ. American Standard Code for Information Interchange — американський стандартний код для обміну інформацією).
У таблиці ASCII літерам англійського алфавіту, цифрам, розділовим знакам, символам редагування та форматування тексту ставляться у відповідність числа від 0 до 127 (табл. 1.1).
Таблиця 1.1
Групи кодів символів таблиці ASCII
Діапазон
кодів
|
Група символів
|
Приклад
коду
|
Відповідний символ
|
Від 0 до 31, 127
|
Спеціальні
символи
|
10
|
Символ, що відповідає перенесенню курсора на новий рядок
|
13
|
Символ, що відповідає поверненню курсора на початок рядка
| ||
27
|
Символ, що відповідає натисканню клавіші Ебс
|
Продовження таблиці 1.1
Діапазон
кодів
|
Група символів
|
Приклад
коду
|
Відповідний символ
|
Від 32 до 64,
від 91 до 96, від 123 до 126
|
Розділові знаки та цифри
|
32
|
пропуск
|
48
|
цифра 0
| ||
123
|
{
| ||
Від 65 до 90
|
Великі літери англійського алфавіту
|
65
|
А
|
66
|
В
| ||
90
|
Z
| ||
Від 97 до 122
|
Малі літери англ і й-ського алфавіту
|
97
|
а
|
98
|
ь
| ||
122
|
2
|
Текстові символи, що кодуються в таблиці А8СІІ числами від 32 до 127, наведено у додатку 1, який можна переглянути на сайті Інформатика для всіх (allinf.at.ua) у розділі Матеріали до підручників. 8 клас. Підручник.
Кирилиця — алфавіт для групи слов’янських мов, до яких належать українська, російська, білоруська, болгарська та інші мови.
Англійська мова та деякі інші західноєвропейські мови мають алфавіт, який називають латиницею.
Таблиця кодів символів А8СІІ містить коди літер лише англійського алфавіту. Для кодування літер інших алфавітів було розроблено інакші таблиці кодів символів. Наприклад, таблиці КОІ8-Н (КОІ — код обміну інформацією) і Windows-1251 містять без змін усі коди таблиці А8СІІ, а також — коди літер кирилиці. Цим літерам ставляться у відповідність натуральні числа від 128 до 255.
Таблиця кодів символів Windows-1251 є стандартом для кодування літер кирилиці в операційній системі Windows. У ній, наприклад, літері «а» українського алфавіту ставиться у відповідність число 224, літері «і» -число 179, літері «ґ»- число 180 та ін. Текстові символи, що кодуються у таблиці Windows-1251 числами від 128 до 255, наведені в додатку 2. Додаток можна знайти на сайті Інформатика для всіх (allinf.at.ua) у розділі Матеріали до підручників. 8 клас. Підручник.
Цілих чисел від 0 до 255 вистачає, щоб закодувати символи двох алфавітів — латиниці й кирилиці та деякі інші символи. Але для кодування символів інших алфавітів (грецького чи арабського алфавітів, ієрогліфів тощо) потрібно значно більше значень кодів. Для них розроблено таблицю кодів символів Юнікод (англ. Ппісойв — уніфіковане кодування).
Таблиця Юнікод складається з 17 наборів по 65 536 значень кодів у кожному та дає можливість закодувати 1 114 112 різних символів, тобто майже всі символи писемності всіх світових мов. Як і в інших таблицях кодів, у Юнікоді незмінними залишаються перші 128 значень кодів, що відповідають таблиці А8СІІ. Окремий розділ у таблиці Юнікод містить коди літер кирилиці. Наприклад, літері «а» українського алфавіту ставиться у відповідність код 53 424, літері «і» — код 53 654, літері «ґ» -код 53 905 та ін.
Наразі у новітніх операційних системах використовується таблиця кодів Юнікод.
Порівняння структур різних таблиць кодів символів наведено в таблиці 1.2.
Таблиця 1.2
Порівняння структури таблиць кодів символів
Таблиця кодів символів
|
Кількість кодів символів
|
Символи з кодами від 0 до 127
|
Символи з кодами від 128 до 255
|
Символи з кодами, більшими за 255
|
ASCII
|
128
|
Літери англійського алфавіту, цифри, розділові знаки, спеціальні символи
|
Немає
|
Немає
|
KOI8-U
|
256
|
Як у таблиці ASCII
|
Символи кирилиці та деякі інші символи
|
Немає
|
Windows-1251
|
256
|
Як у таблиці ASCII
|
Символи кирилиці та деякі інші символи
|
Немає
|
Юнікод
|
1 114 112
|
Як у таблиці ASCII
|
Символи алфавітів різних мов світу та деякі інші символи
|
У таблиці Юнікод містяться коди не лише літер та цифр, а й символів, які позначають торговельні марки, грошові одиниці, символи транскрипцій, ідеограми тощо. Таблиця символів, після чого відкриється вікно програми (мал. 1.5).
Використовуючи цю програму, можна побачити різні групи символів, що призначені для вставлення в документи. Для цього потрібно:
1. Встановити позначку прапорця Додаткові параметри перегляду у вікні програми.
2. У полі Набір символів у нижній частині вікна вибрати Юнікод.
3. У полі Групування вибрати Діапазони Юнікоду.
4. У списку вікна Групування, що відкриється, вибрати діапазон кодів, символи з якого потрібно вставити в документ (мал. 1.6).
Якщо в таблиці вибрати деякий символ, то в рядку статусу вікна програми ліворуч буде відображено код цього символу в таблиці кодів символів Юнікод та його опис англійською мовою, а праворуч — сполучення клавіш, яке потрібно натиснути для вставлення цього символу в документ. Наприклад, на малюнку 1.6 вибрано символ © — знак авторського права, у рядку статусу вікна наведено його опис -U+00A9 Copyright Sign та сполучення клавіш Alt+0169 для вставлення цього символу в документ. Копіювати.
3. Вибрати місце в документі.
4. Вставити скопійований символ з Буферу обміну.
Після вибору кнопки Вибрати символ виводиться в поле Для копіювання. Якщо вибрати ще один символ та кнопку Вибрати, то в полі відобразяться обидва символи. Таким способом можна підготувати для копіювання кілька символів. Усі вони разом будуть скопійовані та вставлені в документ.
Для опрацювання текстових повідомлень з використанням комп’ютера символи повідомлення кодують числами. Для цього можуть використовуватися різні таблиці кодів символів, наприклад А8СІІ, КОІ8-и, Windows-1251, Юнікод.
Таблиця кодів символів А8СІІ містить коди 128 символів, КОІ8-и, Windows-1251 — 256 символів, Юнікод — 1 114 112 символів. У всіх таблицях кодів символів незмінними залишаються перші 128 кодів, що відповідають таблиці А8СІІ.
У кожного веб-браузера є інструменти для вибору таблиці кодів символів, з використанням якої будуть відображатися символи на веб-сторінці.
Службова програма Таблиця символів операційної системи Windows призначена для перегляду, пошуку та вставлення в документи символів з різних шрифтів, поданих з використанням різних таблиць кодів символів.
Дайте відповіді на запитання
1*. Як кодують символи текстових повідомлень під час опрацювання їх з використанням комп’ютера?
2°. Які таблиці кодів символів ви знаєте?
3*. Які символи можуть бути закодовані з використанням таблиць кодів символів ASCII, KOI-8U, Windows-1251, Юнікод?
4*. Що спільного та чим відрізняються таблиці кодів символів ASCII, KOl-8U, Windows-1251, Юнікод?
5°. У яких ситуаціях потрібно змінювати таблицю кодів символів під час перегляду веб-сторінок?
6*. Як вибрати таблицю кодів символів під час перегляду веб-сторінок у браузері Google Chrome?
7°. Яке призначення програми Таблиця символів?
8°. Як запустити на виконання програму Таблиця символів?
9*. Як уставити до документа символи з використанням програми Таблиця символів?
Виконайте завдання
1*. Повідомлення закодовано з використанням таблиці кодів символів ASCII. Декодуйте його (скористайтеся додатком 11): а) 83 117 110; б) 104 111 109 101.
2*. Закодуйте повідомлення з використанням таблиці кодів символів Windows-1251 (скористайтеся додатком 21): а) Підручник «Інформатика»; б) ваше прізвище та ім’я.
3*. Окремі слова в повідомленні закодовані з використанням таблиці кодів символів Юнікод. Знайдіть символи за їх кодами в таблиці та декодуйте повідомлення. Запишіть отриманий текст. Для пошуку символів можна використовувати сайт Таблица символов Юникода (unicode-table.com).
Сьогодні з ранку 9925. Синоптики обіцяють 9928. Збираючись у 127979, не забудьте взяти з собою 9730.
4*. Перегляньте веб-сторінку ІТ в Україні: історії та особистості (ua. uacomputing.com) з використанням таблиць кодів символів Кирилиця (Windows-1251) та Кирилиця (КОІ8-П). Установіть, за вибору якої таблиці кодів символів текст веб-сторінки придатний для розуміння.
5*. Уставте до текстового документа всі символи, що є позначеннями грошових одиниць, використовуючи програму Таблиця символів. Збережіть створений документ у вашій папці у файлі з іменем завдання 1.2.5 та розширенням імені, що відповідає версії текстового процесора.
Додатки можна переглянути на сайті Інформатика для всіх (allinf.at.ua) у розділі Матеріали до підручників. 8 клас. Підручник.
Уставте до текстового документа буквоподібні символи, використовуючи програму Таблиця символів. Збережіть створений документ у вашій папці у файлі з іменем завдання 1.2.6 та розширенням імені, що відповідає версії текстового процесора.
Визначте, які символи будуть уставлені до текстового документа шляхом введення їх коду за натиснутої клавіші ЛИ, для кодів 1234, 3754, 8986, 9708, 9415, 10001, 10239.
Це матеріал з підручника Інформатика 8 клас Ривкінд
Кодування символів — урок. Інформатика, 8 клас.
Сучасні комп’ютери допомагають нам опрацьовувати інформацію, що подана у різному вигляді, у том числі у текстовому. Для того, щоб опрацювати текстові дані за допомогою техніки, їх кодують числами, використовуючи спеціальні таблиці кодів символів. У таких таблицях кожному символу надається у відповідність певне число.
У світі стандартом для комп’ютерів та пристроїв техніки прийнята таблиця кодів символів ASCII (від англ. American Standard Code for Information Interchange — Американський стандарт кодів для обміну інформацією). Вона була розроблена у \(1963\) р. у США. За допомогою таблиці ASCII числами від \(0\) до \(127\) можна закодувати літери латинського алфавіту, арабські цифри та розділові знаки.
Групи кодів символів таблиці ASCII
Діапазон кодів | Група символів | Приклад коду | Відповідний символ |
Від \(0\) до \(31\), \(127\) | Спеціальні символи | \(8\) | Символ, що відповідає натисканню клавіши Backspace (слугує для видалення попереднього символа) |
Від \(32\) до \(64\), від \(91\) до \(96\), від \(123\)—\(126\) | Розділові знаки та цифри | \(55\) | Цифра \(7\) |
Від \(65\) до \(90\) | Великі літери латинського алфавіту | \(68\) | Літера D |
Від \(97\) до \(122\) | Маленькі літери латинського алфавіту | \(110\) | Літера n |
Пізніше таблицю ASCII розширили до \(256\) символів, в якій у діапазон від \(128\) до \(255\) можна було додати символи іншої мови. Окрім цього, для кодування літер з інших алфавітів було розроблено схожі таблиці кодування. Наприклад, КОІ8-U, Windows-1251 та Юнікод.
Стандартом для кодування символів кирилиці в операційній системі Windows є таблиця Windows-1251. У новітніх операційних системах сьогодні використовують таблицю кодування Юнікод, що включає в собі можливість закодувати \(1 114 112\) символів, що містить символи майже всіх мов у світі. Але у всіх цих таблицях кодування спільним є те, що перші \(128\) кодів відповідають таблиці ASCII.
Порівняння таблиць кодів символів
Таблиця кодів символів | Кількість кодів | Діапазон кодів від \(0\) до \(127\) | Діапазон кодів від \(128\) до \(255\) | Діапазон кодів більше ніж \(255\) |
ASCII | \(128\) | Літери латинського алфавіту, арабські цифри та розділові знаки | Немає | Немає |
Windows-1251 | \(256\) | Коди таблиці ASCII | Символи кирилиці | Немає |
Юнікод | \(1 114 112\) | Коди таблиці ASCII | Символи алфавітів мов світу | Символи алфавітів мов світі |
Джерела:
Інформатика : підруч. для 8-го кл. загальноосвіт. навч. закл. / Й.Я.Ривкінд [та ін.]. — Київ: Генеза, 2016. — 288с. : іл.
Universal online Cyrillic decoder — recover your texts
Universal online Cyrillic decoder — recover your texts
Version: 20210806
By the same author: Virtour.fr — visites virtuelles
Output
The resulting text will be displayed here…
Guestbook Please link to this site! | Custom Work For a small fee I can help you quickly recode/recover large pieces of data — texts, databases, websites… or write custom functions you can use (invoice available). FAQ and contact information. |
About the program
Welcome!
You may find this site useful, if you have recieved some texts that you believe are written in the Cyrillic alphabet, but instead are displayed in some strange combination of bizarre characters. This program will try to guess the encoding, and if it does not, it will show samples, examples of all encoding-combinations, so as you will be able to select the good one.
How to
- Paste the text to decode in the big text area. The first few words will be analyzed so they should be (scrambled) in supposed Cyrillic.
- The program will try to decode the text and will print the result below.
- If the translation is successful, you will see the text in Cyrillic characters and will be able to copy it and save it if it’s important.
- If the translation isn’t successful (still the text is not in Cyrillic but in the same or other unintelligible characters), you can choose from the newly created select-listbox the variant that is in Cyrillic (if there are more than one, select the longest). By pressing the button OK you will have the correct text converted.
- If the text is not totally converted, try all other variants in Cyrillic from the select-listbox.
Limits
- If your text contains question marks «???? ?? ??????», the problem is with the sender and no recovery will be possible. Ask them to resend the text, eventually as an ordinary text file or in LibreOffice/OpenOffice/MSOffice format.
- There is no claim that every text is recoverable, even if you are certain that the text is in Cyrillic.
- The analyzed and converted text is limited to 100 KiB.
- A 100% precision is not always achieved — in a conversion from a codepage to another code page, some characters may be lost, like the Bulgarian quotes or rarely some single letters. Some of this depends on your Windows Clipboard character handling.
- The program will try a maximum of 7245 variants in two or three levels: if there had been a multiple encoding like koi8(utf(cp1251(utf))), it will not be detected or tested. Usually the possible and displayed correct variants are between 32 and 255.
- If a part of the text is encoded with one code page, and another part — with another code page, the program could recognize only one of the parts at a time.
Terms of use
Please notice that this freeware program is created with the hope that it would be useful, but has no warranty, not even an implied warranty for fitness for any particular use. Please use it at your own risk.
If you have very long texts to translate, please make sure you have a backup copy.
What’s new
- March 2021 : After a server upgrade, the program stopped working and some parts of it had to be rewritten.
- May 2020 : Added Тоҷикӣ/Tajik translation, thanks to Анвар/Anvar.
- October 2017 : Added «Select all / Copy» button.
- July 2016 : SSL Certificate installed, you can now access the Decoder on a secure connection.
- October 2013 : I am trying different optimizations for the system which should make the decoder run faster and handle more text. If you notice any problem, please notify me ASAP.
- March 2013 : My hosting provider sent me a warning that the Decoder is using too much server CPU power and its processes were killed more than 100 times. I am making some changes so that the program will use less CPU, especially when reposting a previously sampled text, however, the decoded form may load somewhat slower. Please contact me if you have some difficulties using the program.
- 2012-08-09 : Added French translation, thanks to Arnaud D.
- 2011-03-06 : Added Belorussian translation, thanks to Зыль and Aliaksandr Hliakau.
- 31.07.10 : Added Serbian translation, thanks to Miodrag Danilovic (Boston — Beograd).
- 07.05.09 : Raised limit of MAX text size to 50 kiB.
- may 2009 : Added Ukrainian interface thanks to Barmalini.
- 2008-2009 : A number of small fixes and tweaks of the detection algorithm. Changed interface to default to automatic decoding.
- 12.08.07 : Fixed Russian language translation, thanks to Petr Vasilyev. This page will be significantly restructured in the near future.
- 10.11.06 : Three new postfilters added: «base64», «unix-to-unix» и «bin-to-hex», theoretically the tested combinations are 4725. Changes to the frequency analysis function (testing).
- 11.10.06 : The main site is on a new hardware server, should run faster.
- 11.09.06 : The program now uses PHP5 and should run times faster.
- 19.08.06 : Because of a broken DNS entry, this site was inaccessible from 06:00 on 15 august up to 15:00 on 18 august. That was the reason for me to set two «mirror» sites (5ko.free.fr/decode and www.accent.bg/decode) with the same program. If the original has a problem, you can find the copies in Google and recover your texts.
- 17.06.06 : Added two more antique Cyrillic encodings, MIK и KOI-7, but you better not need them.
- 03.03.06 : Added Slovak translation, thanks to Martin from KPR Slovakia.
- 15.02.06 : More encodings added and tested.
- 20.10.05 : Small improvement to the frequency-analysis function: for texts, written in all-capital letters.
- 14.10.05 : Two more gmail-Cyrillic encodings were added. Theoretically the tested combinations are 2112.
- 15.06.05 : Russian language interface was added. Big thanks to chAlx!
- 16.02.05 : One more postfilter decoding is added, for strings like this: «%u043A%u0438%u0440%u0438%u043B%u0438%u0446%u0430».
- 05.02.05 : More encodings tests added, the number of tested encodings is doubled, but thus the program may work slightly slower.
- 03.02.05 : The frequency analysis function that detects the original encoding works much better now. Currently the program recognises most of the encodings if the first few words are not too weird. It although still needs some improvement.
- 15.01.05 : The input text limit is raised from 10 to 20 kB.
- 01.12.04 : First public release.
Back to the Latin to Cyrillic convertor.
Таблиця кодів символів у Windows
Таблиця кодів символів у сучасних комп ‘ютерах може бути використана будь-яким юзером. Що це таке? І де знайти подібний елемент? Як їм користуватися і для яких цілей? Далі постараємося дати відповіді на всі перераховані питання. Зазвичай таблиці символів дозволяють друкувати унікальні знаки в текстових документах. Головне — знати, якими вони бувають, а також де шукати відповідну інформацію. Все набагато простіше, ніж здається.
Визначення
Що таке таблиця кодів символів? Це, як неважко здогадатися, база даних. У ній користувачі можуть побачити поєднання числових значень, під час обробки яких у вказане місце тексту вставляється символ. Наприклад, знак порожній або порожній. На клавіатурі таких символів немає і бути не може.
Таблиця символів допомагає користувачам вставляти унікальні знаки в текстові документи. Тут ви можете побачити кодування елемента та спосіб його інтерпретації.
Якими бувають
Кодування символів — тип поєднання літер, цифр і знаків, які після обробки операційною системою перетворюються на знак. Вони бувають різними.
Сьогодні можна зіткнутися з такими кодуваннями:
- ASCII — спосіб друку спеціальних знаків, унікальні коди яких представлені цифрами. Це найпоширеніший тип кодування. Він був розроблений в 1963 році в США. Кодування є семибітним.
- Windows-1251 — стандартне кодування для російськомовного «» Віндовс «». Вона не дуже обширна і майже не користується попитом у юзерів.
- Unicode — 16-бітове кодування для сучасних операційних систем. Вона служить для представлення символів і літер будь-якою мовою. Використовується сучасними користувачами нарівні з ASCII.
Тепер зрозуміло, якими бувають кодування. Загостримо увагу на першому і останньому варіанті. Вони користуються найбільшим попитом у сучасних користувачів ПК.
Де шукати у Windows
Типові таблиці кодів символів вмонтовані в операційну систему «Віндовс». За їх допомогою юзер зможе друкувати літери та спеціальні знаки в будь-якому текстовому редакторі або документі.
Для того, щоб знайти таблицю символів у «Віндовс», потрібно:
- Відкрити пункт меню «Пуск».
- Розгорнути розділ «Всі програми» «.
- Вибрати теку «Стандартні»
- Клікнути за написом «» Службові «».
- Заглянути в програму «Таблиця символів».
Справу зроблено. Тепер можна вивчити всі можливі знаки, які тільки можуть сприйматися операційною системою. Якщо двічі клацнути на мініатюрі того чи іншого символу, а потім клацнути на кнопці «Копіювати», відповідний знак буде перенесено до буфера обміну. Ви можете вивантажити дані до текстового документа.
Важливо: у нижній частині вікна праворуч можна побачити поєднання клавіш для швидкого друку вибраного елемента, а ліворуч — «Юнікод» для набору в тексті.
В MS Word
Таблицю кодів символів можна знайти навіть у текстових редакторах. Розгляньмо алгоритм дій у MS Word. Це найбільш популярна і поширена утиліта для роботи з документами в «» Віндовс «».
Відкриття таблиці кодів символів здійснюється так:
- Зайти в Word на комп ‘ютері. Можна відкрити порожній документ і текст.
- Клацніть у верхній частині цього пункту за пунктом «Вставка». Бажано розгорнути весь список параметрів.
- Навести курсор і клацнути ЛКМ за написом «» Спеціальний знак «…».
Ось і все. По центру екрана з ‘явиться таблиця символів. Тут можна переглянути таблицю ASCII, «Юнікода» «і не тільки. Для цього в нижній частині вікна у спадному списку потрібно вибрати після напису «» з «…» відповідне кодування.
Вставлення знака може здійснюватися через подвійний клік за елементом у таблиці або за допомогою активації кнопки «Вставити».
Способи обробки коду
Як ми вже говорили, таблиця кодів символів допомагає вивчити цифро-алфавітний код того чи іншого символу. Як можна перетворити їх?
Як правило, «Юнікод» обробляється наступним чином:
- Користувач пише унікальний код відповідного символу. Зазвичай він починається з U +….
- Юзер натискає комбінацію клавіш Alt + X у текстовому редакторі.
- Операційна система зчитує код, після чого на місці запису з ‘являється спеціальний знак.
Коди обробляються по одному. Це вкрай важливо. ASCII обробляються аналогічним чином.
Деякі символи можна надрукувати за допомогою кнопки Alt. Зазвичай її потрібно затиснути, а потім на цифирній панелі клавіатури набрати відповідний код. У цьому випадку доведеться заздалегідь активувати режим Num Lock.
1.3.2. Кодування текстових даних : Основи інформатики та інформатизації – Автор невідомий : Книги по праву, правоведение
При кодуванні текстових даних кожному символу алфавіту
ставиться у відповідність визначений двоїчний код. Восьми двоїчних розрядів
досить для кодування 256 різних символів. Цього вистачить, щоб виразити різними
комбінаціями восьми бітів усі символи англійського і російського алфавітів, як
рядкові, так і прописні, а також розділові знаки, символи основних арифметичних
дій і деякі загальноприйняті спеціальні символи, наприклад символ @ .
Технічно це виглядає дуже просто, однак завжди існували
досить вагомі організаційні складності. В перші роки розвитку обчислювальної
техніки вони були зв’язані з відсутністю необхідних стандартів, а в даний час
викликані, навпаки, достатком одночасно діючих і суперечливих стандартів. Для
того, щоб увесь світ однаково кодував текстові дані, потрібні єдині таблиці
кодування, а це поки неможливо через протиріччя між символами національних
алфавітів, а також протиріч корпоративного характеру.
Для англійської мови, що захватила де-факто нішу
міжнародного засобу спілкування, протиріччя вже зняті. Інститут стандартизації
США ввів у дію систему кодування ASCII (American Standard Code for Information
Interchange – стандартний код інформаційного обміну США). У системі ASCII
закріплені дві таблиці кодування: базова і розширена. Базова таблиця закріплює
значення кодів від 0 до 127, а розширена відноситься до символів з номерами від
128 до 255.
Перші 32 коди базової таблиці, починаючи з нульового,
віддані виробникам апаратних засобів. У цій області розміщаються так називані
керуючі коди, яким не відповідають ніякі символи мов, і відповідно ці коди не
виводяться ні на екран, ні на пристрої печатки, але ними можна керувати
процесом виводу інших даних. Починаючи з коду 32 по код 127 розміщені коди
символів англійського алфавіту, цифр, розділових знаків, арифметичних дій і
деяких допоміжних символів. Базова таблиця кодування ASCII приведена в таблиці
1.1
Таблиця 1.1. Базова таблиця кодування ASCII
32
33
|
пробіл
!
|
48
49
|
0
1
|
64
65
|
@
A
|
80
81
|
P
Q
|
96
97
|
`
a
|
112
113
|
p
q
|
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
«
#
$
%
&
‘
(
)
*
+
,
—
.
/
|
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
2
3
4
5
6
7
8
9
:
;
<
=
>
?
|
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
B
C
D
E
F
G
H
I
J
K
L
M
N
O
|
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
R
S
T
U
V
W
X
Y
Z
[
\
]
ˆ
_
|
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
b
c
d
e
f
g
h
I
j
k
l
m
n
o
|
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
r
s
t
u
v
w
x
y
z
{
|
}
~
|
Аналогічні системи кодування текстових даних були розроблені
й в інших країнах. Так, наприклад, у СРСР у цій області діяла система кодування
КОИ-7 (код обміну інформацією, семизначний). Однак підтримка виробників
устаткування і програм вивела американський код ASCII на рівень міжнародного
стандарту й інші системи кодування, у тому числі і КОИ-7, широкого поширення не
одержали.
Компанія Microsoft увела своє кодування для символів
російського й українського алфавітів, що відоме як кодування Windows – 1251 (табл.
1.2.)
Таблиця 1.2. Кодування Windows 1251
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
Ђ
Ѓ
,
ѓ
„
…
†
‡
′
‰
Љ
‹
Њ
Ќ
Ћ
Џ
|
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
ђ
‘
’
“
”
•
–
—
′
™
љ
›
њ
ќ
ћ
џ
|
160
160
162
163
164
165
166
167
168
169
170
171
172
173
174
175
|
Ў
ў
Ј
☼
Ґ
|
§
Ё
©
є
«
¬
®
Ї
|
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
·
±
І
і
ґ
μ
¶
·
ё
№
є
»
ј
Ѕ
ѕ
ї
|
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
|
А
Б
В
Г
Д
Е
Ж
З
И
Й
К
Л
М
Н
О
П
|
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
|
Р
С
Т
У
Ф
Х
Ц
Ч
Ш
Щ
Ъ
Ы
Ь
Э
Ю
Я
|
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
|
а
б
в
г
д
е
ж
з
и
й
к
л
м
н
о
п
|
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
|
р
с
т
у
ф
х
ц
ч
ш
щ
ъ
ы
ь
э
ю
я
|
Це кодування використовується на більшості локальних
комп’ютерів, що працюють на платформі Windows. Де-факто вона стала стандартною
в українському секторі World Wide Web.
Якщо кодувати символи не восьмирозрядними двоїчними числами,
а числами з великою кількістю розрядів, то і діапазон можливих значень кодів
стане набагато більше. Така система, заснована на 16-розрядному кодуванні
символів, одержала назву універсальної – UNICODE. Шістнадцять розрядів
дозволяють забезпечити унікальні коди для 65536 різних символів – цього поля
досить для розміщення в одній таблиці символів більшості мов планети.
Незважаючи на очевидність такого підходу, простий механічний
перехід на дану систему довгий час стримувався через недостатні ресурси засобів
обчислювальної техніки (у системі UNICODE усі текстові документи автоматично
стають удвічі довшими). В другій половині 1990-х років технічні засоби досягли
необхідного рівня, і сьогодні ми спостерігаємо поступовий переклад документів і
програмних засобів на універсальну систему кодування, хоча це ще більше додає
турбот для індивідуальних користувачів при узгодженні документів, виконаних у
різних системах кодування.
Програма автоматичного визначення кодової таблиці текстового файлу
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ
«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»
ім. Ігоря Сікорського
Кафедра системного проектування
РОЗРАХУНКОВО-ГРАФІЧНА РОБОТА
з дисципліни
«Теорія інформації і кодування»
на тему: Програма автоматичного визначення
кодової таблиці текстового файлу
Студента 2го курсу
групи ДА-61
Кравченко Богдана Євгеновича
Керівник доц., к.т.н. Капшук О.О.
Зміст
Короткі відомості
ASCII
Windows-1251
Unicode
Версії Юнікод
UTF-8
UTF-16 і UTF32
Розробка програми
Інтерфейс програми
Існуючі програми для перевірки кодування
Тестування
Висновок
Список літератури
Зміст
Мета роботи
Розробити програму автоматичного визначення
кодової таблиці текстового файлу
Короткі відомості
Безліч символів, за допомогою яких записується текст, називається алфавітом.
Число символів в алфавіті — це його потужність.
Формула визначення кількості інформації: N = 2b, де N – потужність алфавіту (кількість
символів), b — кількість біт (інформаційна вага символу).
В алфавіт потужністю 256 символів можна помістити практично всі необхідні символи.
Такий алфавіт називається достатнім.
Оскільки 256 = 28, то вага 1 символу — 8 біт.
Одиниці виміру 8 біт присвоїли назву 1 байт:
1 байт = 8 біт.
Двійковий код кожного символу в комп’ютерному тексті займає 1 байт пам’яті.
Зміст
ASCII
ASCII (англ. American Standard Code for Information Interchange) — американський
стандартний код для обміну інформацією.
ASCII представляє собою кодування для представлення десяткових цифр, латинської та
національного алфавітів, розділових знаків і керуючих символів. Спочатку розроблена як
7-бітна, з широким розповсюдженням 8-бітного байта ASCII стала сприйматися як
половина 8-бітної.
Зміст
Таблиця ASCII
Зміст
Windows-1251
Windows-1251 (також вживаються назви Win1251, CP1251) — кодування символів, що є
стандартним 8-бітовим кодуванням для всіх локалізованих українських і російських
версій Microsoft Windows. Користується досить великою популярністю. Була створена на
базі кодувань, що використалися в ранніх «саморобних» русифікаторах Windows в
1990—1991 рр. спільно представниками «Параграфа», «Діалогу» і російського відділення
Microsoft. Початковий варіант кодування помітно відрізнявся від сучасного, приведеного
нижче в таблиці (зокрема, там було значне число «білих плям»).
Зміст
Таблиця Windows-1251
Зміст
Має три недоліки:
мала (рядкова) буква «я» має код 0xFF (255 в 10-овій системі). Вона є «винуватицею»
ряду несподіваних проблем в програмах без підтримки чистого 8-го біту.
відсутні символи псевдографіки.
при сортуванні в алфавітному порядку літери не йдуть підряд, оскільки між літерами
ўЎіІєЄЇґҐёЁ і основним блоком літер йдуть спецсимволи.
Зміст
Unicode
Юнікод (англ. Unicode) — стандарт кодування символів, що включає в себе знаки майже
всіх письмових мов світу. В даний час стандарт є домінуючим в Інтернеті. Стандарт
запропонований в 1991 році некомерційною організацією «Консорціум Юнікоду» (англ.
Unicode Consortium, Unicode Inc.). Застосування цього стандарту дозволяє закодувати
дуже велике число символів з різних систем писемності: в документах, закодованих за
стандартом Юнікод, можуть бути сусідами китайські ієрогліфи, математичні символи,
букви грецького алфавіту, латиниці і кирилиці, символи музичної нотної нотації, при
цьому стає непотрібним переключення кодових сторінок.
Зміст
Стандарт складається з двох основних частин: універсального набору символів (англ.
Universal character set, UCS) і сімейства кодувань (англ. Unicode transformation format,
UTF). Універсальний набір символів перераховує допустимі за стандартом Юнікод
символи і привласнює кожному символу код у вигляді невід’ємного цілого числа, що
записується зазвичай в шістнадцятковій формі з префіксом U +, наприклад, U + 040F.
Сімейство кодувань визначає способи перетворення кодів символів для передачі в потоці
або в файлі.Коди в стандарті Юнікод розділені на кілька областей. Область з кодами від
U + 0000 до U + 007F містить символи набору ASCII, і коди цих символів збігаються з їх
кодами в ASCII. Далі розташовані області символів інших систем писемності, знаки
пунктуації та технічні символи. Частина кодів зарезервована для використання в
майбутньому. Під символи кирилиці виділені області знаків з кодами від U + 0400 до U +
052F, від U + 2DE0 до U + 2DFF, від U + A640 до U + A69F (див. Кирилиця в Юникоде).
Зміст
Cпособи представлення
Юнікод має кілька форм представлення (англ. Unicode transformation format, UTF): UTF-8,
UTF-16 (UTF-16BE, UTF-16LE) і UTF-32 (UTF-32BE, UTF-32LE). Була розроблена також форма
подання UTF-7 для передачі по семибітним каналах, але через несумісність з ASCII вона
не набула поширення і не включена в стандарт.
Зміст
Версії Юнікода
UTF-8
UTF-8 — уявлення Юникода, що забезпечує найбільшу компактність і зворотну сумісність з
7-бітної системою ASCII; текст, що складається тільки з символів з номерами менше 128,
при записі в UTF-8 перетворюється в звичайний текст ASCII і може бути відображений
будь-якою програмою, що працює з ASCII; і навпаки, текст, закодований 7-бітної ASCII
може бути відображений програмою, призначеної для роботи з UTF-8. Решта символів
Юнікоду зображуються послідовностями довжиною від 2 до 4 байт, в яких перший байт
завжди має маску 11xxxxxx, а решта — 10xxxxxx. В UTF-8 не використовуються сурогатні
пари.
Зміст
UTF-16 і UTF-32
UTF-16 — кодування, що дозволяє записувати символи Юнікоду в діапазонах U + 0000 … U +
D7FF і U + E000 … U + 10FFFF (загальною кількістю 1 112 064). При цьому кожен символ
записується одним або двома словами (сурогатна пара). Кодування UTF-16 описана в
додатку Q до міжнародного стандарту ISO / IEC 10646, а також їй присвячений документ
IETF RFC 2781 під назвою «UTF-16, an encoding of ISO 10646».
UTF-32 — спосіб представлення Юнікоду, при якому кожен символ займає рівно 4 байта.
Головна перевага UTF-32 перед кодуваннями змінної довжини полягає в тому, що символи
Юнікод в ній безпосередньо індексованих, тому знайти символ за номером його позиції в
файлі можна надзвичайно швидко, і отримання будь-якого символу n-ї позиції при цьому є
операцією, що займає завжди однакове час. Це також робить заміну символів в рядках
UTF-32 дуже простий. Навпаки, кодування зі змінною довжиною вимагають послідовного
доступу до символу n-ї позиції, що може бути дуже витратною за часом операцією.
Головний недолік UTF-32 — це неефективне використання простору, так як для зберігання
будь-якого символу використовується чотири байти. Символи, що лежать за межами
нульовий (базової) площині кодового простору, рідко використовуються в більшості текстів.
Тому подвоєння, в порівнянні з UTF-16, займаного рядками в UTF-32 простору, часто не
виправдано.
Зміст
Розробка програми
Рис. Алгоритм
Зміст
Інтерфейс програми
Зміст
Існуючі програми для перевірки
кодування
NotePad++
http://foxtools.ru/Text
Зміст
Тестування програми
File name
euc.txt
iso2022jp.txt
shiftjis.txt
utf8.txt
utf8n.txt
utf16le.txt
Створена програма
EUC-JP
ISO-2022-JP
Shift-JIS
UTF-8
UTF-8
UTF-16LE
Зміст
Онлайн тест
ISO-2022-JP
Shift-JIS
EUC-JP
UTF-8
UTF-8
UTF-16LE
Висновок
При виконанні розрахунково-графічної роботи було розглянуто кодування файлів. Було
описано основні кодування текстових файлів.
У процесі виконання було розроблено програму, що реалізує автоматичне визначення
кодової таблиці текстового файлу. Було виконано ряд тестів, які підтвердили правильність
роботи програми(правильність визначення кодування текстового файлу)
Зміст
Список літератури
Вернер.М. Основы кодирования. Учебник для ВУЗов. Москва: Техносфера. 2004. – 288с.
Dave Tomas, Endi Hat — The Pragmatic Programmer, 1999
https://ru.wikibooks.org/wiki/Кодирование_текста
http://school497.ru/download/u/02/les10/les.html
https://uk.wikipedia.org/wiki/Windows-1251
https://uk.wikipedia.org/wiki/КОІ-8
https://uk.wikipedia.org/wiki/CP866
https://ru.wikipedia.org/wiki/MacCyrillic
https://uk.wikipedia.org/wiki/UTF-8
https://uk.wikipedia.org/wiki/UTF-16
Зміст
Дякую за увагу!
Таблица сравнения символов в Windows-1252, ISO-8859-1, ISO-8859-15
Кодировки символов ISO-8859-1, ISO-8859-15 и Windows-1252 очень похожи, и их легко перепутать. Это приводит к нескольким типичным проблемам.
Следующая диаграмма показывает различия между этими кодировками и полезна для отладки связанных проблем.
ISO-8859-1 по сравнению с Windows-1252
ISO-8859-1 (также называемый Latin-1) идентичен Windows-1252 (также называемый CP1252), за исключением кодовых точек 128-159 (0x80-0x9F).ISO-8859-1 назначает несколько управляющих кодов в этом диапазоне. Windows-1252 имеет несколько символов, пунктуацию, арифметику и бизнес.
символы, присвоенные этим кодовым точкам.
Типичные проблемы
- Неправильная маркировка текста, закодированного в Windows-1252 как ISO-8859-1, а затем преобразование из ISO-8859-1 в Unicode или другие кодировки приводит к появлению символов
в диапазоне 128-159 теряться. Они преобразуются, как если бы они были управляющими кодами, и обычно отображаются в виде белого пространства, специального вопросительного знака,
или квадрат, показывающий 4 шестнадцатеричных цифры кодовой точки. - HTML и XML используют кодовые точки Unicode в качестве значений в ссылках на числовые символы (NCR). Ссылки на числовые символы — это escape-символы
записывается как & # dddd; или & # xhhhh; где десятичные или шестнадцатеричные значения являются кодовыми точками Unicode. Поскольку первые 256 символов в Юникоде
идентичны символам в ISO-8859-1, люди привыкают использовать знакомый им кодовый знак для создания NCR.Однако для символов в диапазоне 128–159 в Windows-1252 это неправильные значения. Например, евро (€)
в кодовой точке 0x80 в Windows-1252, но в Unicode это U + 20AC.
& # x80; является NCR для контрольного кода и не будет отображаться как евро. Правильный NCR — & # x20AC ;.
Использование шрифта ISO-8859-1, который не имеет правильных глифов для символов Windows-1252
приведет к неправильному отображению символов.
В сравнительной таблице ниже показаны кодовые точки Unicode, связанные с Windows-1252.
символы в диапазоне 128-159.
ISO-8859-1 в сравнении с ISO-8859-15
Эти 2 кодировки идентичны, за исключением 8 кодовых точек, что вызывает путаницу между ними, а также с Windows-1252.Для получения дополнительной информации о ISO-8859-15,
см. Сравнение ISO-8859-1 и ISO-8859-15.
Сравнительная таблица
Вот символы в диапазоне 128-159 в Windows 1252 с их кодовыми точками Unicode,
Значения байтов UTF-8 и кодовые точки ISO-8859-15, если они отличаются от ISO-8859-1.
Примечание по терминологии:
- NCR = Ссылка на цифровые символы
- CER = Ссылка на сущность символа
- CP1252 = Окна-1252
Кодовый пункт | UTF-8 байтов | NCR * | Персонаж | CER * или NCR * | Имя персонажа | |||||
---|---|---|---|---|---|---|---|---|---|---|
CP1252 * | ISO 8859-15 | Юникод | ||||||||
(декабрь) | (шестигранник) | (шестигранник) | (шестигранник) | # 1 | # 2 | # 3 | (декабрь) | (шестигранник) | ||
128 | 80 | A4 | 20AC | E2 | 82 | AC | & # 8364; | € | и евро; | Знак евро |
129 | 81 | НЕ НАЗНАЧЕН | ||||||||
130 | 82 | 201A | E2 | 80 | 9A | & # 8218; | ‚ | & sbquo; | Одиночный малый 9 кавычки | |
131 | 83 | 192 | C6 | 92 | & # 402; | ƒ | & # x192; | Строчная латинская буква F с крючком | ||
132 | 84 | 201E | E2 | 80 | 9E | & # 8222; | „ | & bdquo; | Двойной Low-9 Котировальный знак | |
133 | 85 | 2026 | E2 | 80 | A6 | & # 8230; | … | & hellip; | Горизонтальное многоточие | |
134 | 86 | 2020 | E2 | 80 | A0 | & # 8224; | † | & кинжал; | Кинжал | |
135 | 87 | 2021 | E2 | 80 | A1 | & # 8225; | ‡ | и кинжал; | Двойной кинжал | |
136 | 88 | 2C6 | CB | 86 | & # 710; | ˆ | & circ; | Буква-модификатор Circumflex Accent | ||
137 | 89 | 2030 | E2 | 80 | B0 | & # 8240; | ‰ | & permil; | Знак промилле | |
138 | 8A | A6 | 160 | C5 | A0 | & # 352; | Š | и Scaron; | Латинская заглавная буква S с кароном | |
139 | 8Б | 2039 | E2 | 80 | B9 | & # 8249; | ‹ | & lsaquo; | Кавычка с одинарным левым углом | |
140 | 8C | г. до н.э. | 152 | C5 | 92 | & # 338; | Œ | и OElig; | Лигатура латинской заглавной буквы OE | |
141 | 8D | НЕ НАЗНАЧЕН | ||||||||
142 | 8E | B4 | 17D | C5 | BD | & # 381; | Ž | & # x17D; | Латинская заглавная буква Z с кароном | |
143 | 8F | НЕ НАЗНАЧЕН | ||||||||
144 | 90 | НЕ НАЗНАЧЕН | ||||||||
145 | 91 | 2018 | E2 | 80 | 98 | & # 8216; | ‘ | & lsquo; | Одинарный кавычка левый | |
146 | 92 | 2019 | E2 | 80 | 99 | & # 8217; | ’ | & rsquo; | Одинарный кавычка, правый | |
147 | 93 | 201C | E2 | 80 | 9C | & # 8220; | “ | & ldquo; | Двойные кавычки слева | |
148 | 94 | 201D | E2 | 80 | 9D | & # 8221; | ” | & rdquo; | Двойные кавычки справа | |
149 | 95 | 2022 | E2 | 80 | A2 | & # 8226; | • | и бык; | Пуля | |
150 | 96 | 2013 | E2 | 80 | 93 | & # 8211; | – | & ndash; | En Dash | |
151 | 97 | 2014 | E2 | 80 | 94 | & # 8212; | – | & mdash; | Em Dash | |
152 | 98 | 2DC | CB | 9C | & # 732; | ˜ | & тильда; | Маленькая тильда | ||
153 | 99 | 2122 | E2 | 84 | A2 | & # 8482; | ™ | и торговля; | Знак торговой марки | |
154 | 9A | A8 | 161 | C5 | A1 | & # 353; | š | & scaron; | Строчная латинская буква S с кароном | |
155 | 9Б | 203A | E2 | 80 | BA | & # 8250; | › | & rsaquo; | Одинарный кавычочный знак, указывающий вправо | |
156 | 9C | BD | 153 | C5 | 93 | & # 339; | œ | & oelig; | Строчная латинская лигатура OE | |
157 | 9D | НЕ НАЗНАЧЕН | ||||||||
158 | 9E | B8 | 17E | C5 | BE | & # 382; | × | & # x17E; | Строчная латинская буква Z с кароном | |
159 | 9F | BE | 178 | C5 | B8 | & # 376; | Ÿ | и Yuml; | Латинская заглавная буква Y с диэрезисом |
Дополнительные ссылки
Авторские права © 2010, 2011 Tex Texin.Все права защищены.
вернуться наверх
Руководство пользователя
Глава 6: Поддержка Unicode и не-ASCII
Глава 6. Поддержка Unicode и не-ASCII
6.1 Формат для печати в кавычках
6.2 Символы не-ASCII в заголовках
6.3 Unicode и UTF-8
6.4 Поддержка UTF-8 в AspEmail
6.5 Допустимые значения CharSet
6.1 Формат цитируемой печати
AspEmail может отправлять сообщения в алфавитах, отличных от US-ASCII.
за счет поддержки формата «Цитата для печати».Этот формат описан в
RFC-2045. Идея формата заключается в том, что символы с кодами меньше 33 и больше
чем 126 представлены знаком «=», за которым следует двузначное шестнадцатеричное представление.
ценности персонажа. Например, десятичное значение 12 (подача формы US-ASCII)
представлен как = 0C , а десятичное значение 61 (US-ASCII «=») может быть представлено
как = 3D .AspEmail кодирует тело сообщения в формате Quoted-Printable
автоматически, если для свойства ContentTransferEncoding установлено значение
строка «Quoted-Printable» (регистр букв не имеет значения).Вы также можете установить свойство Charset
к соответствующему набору символов. Следующий фрагмент кода отправляет
сообщение на русском языке:<% @ codepage = 1251%>
<%
…
Mail.Charset = «Windows-1251»
Mail.Body = «-«.
Mail.ContentTransferEncoding = «Quoted-Printable»
%>Директива <% @ codepage = 1251%> предписывает
интерпретатор ASP для обработки жестко запрограммированных символов в сценарии
в виде русских символов (1251 — русская кодовая страница).Как результат,
Свойство Body получит русскую строку Unicode.
6.2 Символы не-ASCII в заголовках
Если вы хотите отправить сообщение с определенными заголовками, такими как Тема: ,
To: или From: , содержащие символы, отличные от US-ASCII, следует использовать
метод Mail.EncodeHeader для кодирования строки символов в соответствии с
RFC 1522.Метод принимает один обязательный параметр, строку заголовка,
и один необязательный параметр, набор символов, который по умолчанию равен « ISO-8859-1 ».
Например:<% @ codepage = 1251%>
<%
Mail.Subject = Mail.EncodeHeader («-«, «Windows-1251»)
Mail.FromName = Mail.EncodeHeader («», «Windows-1251»)
Mail.AddAddress «[email protected]», Mail.EncodeHeader («»)
%>
6.3 Unicode и UTF-8
Из MSDN: «Юникод — это 16-битный стандарт кодировки символов фиксированной ширины, который
охватывает практически все символы, обычно используемые на компьютерах сегодня.
Это включает в себя большинство письменных языков мира, а также издательские персонажи,
математические и технические символы и знаки препинания «.Из Unicode.org: «Компьютеры … хранят буквы и другие символы
присвоение номера каждому.До изобретения Unicode существовало
сотни различных систем кодирования для присвоения этих чисел.
Ни одна кодировка не может содержать достаточно символов …
Unicode предоставляет уникальный номер для каждого символа,
независимо от того, какая платформа, какая программа, на каком языке ».Например, основная латинская буква «А» имеет шестнадцатеричный код 0041 (65), русский
буква имеет код Hex 0416 (1046), а китайский иероглиф
имеет код Hex 32A5 (12965).UTF-8 (формат преобразования Unicode, 8-битная форма кодирования) рекомендуется
формат, который будет использоваться для отправки данных на основе Unicode по сетям, в частности, через Интернет.
UTF-8 представляет значение Unicode как последовательность из 1, 2 или 3 байтов.Символы Юникода в диапазоне от 0000 до 007F кодируются просто как байты.
00 до 7F. Это означает, что файлы и строки, содержащие только 7-битный ASCII
символы имеют одинаковую кодировку как в ASCII, так и в UTF-8.Следовательно, Unicode 0041 («A») в UTF-8 — это Hex 41.Символы Юникода в диапазоне от 0080 до 07FF кодируются как последовательность из двух байтов.
Например, Unicode 0416 ()
кодируется как Hex D0 96. Кодируются символы Unicode в диапазоне от Hex 0800 до FFFF.
как последовательность из трех байтов. Например, Unicode 32A5 ()
кодируется как Hex E3 8A A5.Начиная с Unicode 2.0, символы больше не ограничиваются диапазоном от шестнадцатеричного 0000 до шестнадцатеричного FFFF, называемого базовой многоязычной плоскостью (BMP).Также поддерживаются символы в диапазоне от Hex 10000 до Hex 10FFFF, называемые дополнительными кодовыми точками .
Среди последних — Emoji символов, такие как:
Значок Кодовая точка (шестнадцатеричная) Кодировка (шестнадцатеричная) 😂 1F602 D83D DE02 🌹 1F339 D83C DF39 Поскольку символы Emoji (и другие дополнительные кодовые точки) превышают шестнадцатеричный FFFF, они должны быть представлены двумя 16-битными числами вместо одного,
как показано в правом столбце таблицы выше.Эти два числа называются старшей суррогатной кодовой точкой и младшей суррогатной кодовой точкой .
Формулы для преобразования дополнительной кодовой точки в ее высокие и низкие суррогаты следующие:привет = (cp — 0x10000) / 0x400 + 0xD800
lo = (cp — 0x10000)% 0x400 + 0xDC00Эти числа пригодятся, когда Emojis нужно включить в тему электронного письма, как показано в следующем разделе.
6.4 Поддержка UTF-8 в AspEmail
AspEmail 5.0 предлагает полную поддержку UTF-8 как в теле сообщения, так и в заголовках.
Чтобы отправить сообщение в кодировке UTF-8, вы должны установить CharSet
свойство к строке « UTF-8 » (регистр несущественен),
и ContentTransferEncoding в « Quoted-Printable ».
Вы также должны передать UTF-8 в качестве второго аргумента для EncodeHeader .В следующем примере кода демонстрируется использование UTF-8:
<%
‘изменить на адрес вашего собственного SMTP-сервера
strHost = «smtp.myisp.net «‘Включить UTF-8 -> Перевод Unicode для элементов формы
Session.CodePage = 65001 ‘Код UTF-8Если Запрос («Отправить») «» То
Установите Mail = Server.CreateObject («Persits.MailSender»)
‘введите действительный SMTP-хост
Mail.Host = strHostMail.From = «[email protected]» ‘с адреса
Mail.FromName = Mail.EncodeHeader (Запрос («FromName»), «utf-8»)
Почта.Запрос AddAddress («Кому»)‘тема сообщения
Mail.Subject = Mail.EncodeHeader (Запрос («Тема»), «utf-8»)‘тело сообщения
Mail.Body = Request («Body»)‘Параметры UTF-8
Mail.CharSet = «UTF-8»
Mail.ContentTransferEncoding = «Quoted-Printable»
Mail.Send ‘отправить сообщение
Response.Write «Сообщение отправлено» & Request («To»)
Конец, если
%>
AspEmail: Unicode.asp <ТЕЛО>