- •1)Коды символов. Таблицы кодов. Коды команд управления выводом данных. Обработка символов.
- •2)Коды символов типа char.Изменение кодировки символа
- •3)Коды символов. Вставка символа в строку
- •4)Вывод символов по их кодам
- •6)Вывод символа шеснадцатиричной цифры по ее коду
- •7)Вывод значения шестнадцатеричной цифры по ее символу
- •8) Вывод значения десятичной цифры по ее символу
- •9)Преобразование строчной латинской буквы а прописную
1)Коды символов. Таблицы кодов. Коды команд управления выводом данных. Обработка символов.
Для кодирования символов используются ASCII код-стандартный код для информ. Обмена, кот. Введен в действие Институтом стандартизации США-ANSI
Таблица кодов
Таблица |
Символ |
Код MC DOS(CP 866) |
Код windows(cp 1251) |
||
Базовая От 0 до 127 |
0..9 A..Z a..z |
48..57 65..98 97..122 |
48..57 65..90 97..122 |
||
Расширенная От 128 до 255 |
А..Я а..п р..я |
128..159 160..175 224..239 |
192..223 224..239 240..255 |
||
Возврат коретки |
13 |
|
|
|
|
Перевод строки |
10 |
|
|
|
|
Ё |
240 |
|
|
|
|
ё |
241 |
|
|
|
Числовая и символьная интерпретация данных типа сhar позволяет использовать обычные операции для работы с целыми числами при обработке символов текста.
Тип char не имеет никаких ограничений на выполнение операции, допустимых для целых переменных.
2)Коды символов типа char.Изменение кодировки символа
Коды символов char
Символ |
Код MC DOS |
код Windows |
Dos->windows |
|||
unsigned char(0~255) |
char (-128~ 127) |
unsigned char(0~255) |
char -128~127 |
разница |
||
А-Я |
128..159 |
-128..-97 |
192..223 |
-64..-33 |
+64 |
|
а-п |
160..175 |
-96..-81 |
224..239 |
-32..-17 |
+64 |
|
р-я |
224..239 |
-32..-17 |
240..255 |
-16..-1 |
+16 |
|
ё |
241 |
-15 |
184 |
-72 |
замена кода |
|
Ё |
240 |
-16 |
168 |
-88 |
замена кода |
Изменение кодировки символа
составить программу с функциями для преобразования кода символа cp866 в код cp1251
программа должна выполнять следующие задачи:
1)Ввод символа с клавиатуры(cp866)
2)Запись этого символа в текстовый (cp1251)
3)Чтение символа из текстового файла(cp1251)
4)Вывод символа на экран(cp866)
#include <iostream>
#include<fstream>
using namespace std;
//ф-я для преобразования символа из cp866 в ср1251
void DosToWin(char d,char&w)
{if((d>=-128)&&(d<=-81)) //А..Я а..п
w=d+64;
if((d>=-32)&&(d<=-17)) //р..я
w=d+16;
if(d>=-16)w=-88; if (d<=-15) w=-72; //Ё,ё
}
//ф-я преобразования из win в dos
void WinToDos(char w,char &d)
{if((d>=-64)&&(d<=-17))//А..Я а..п
d=w-64;
if((d>=-16)&&(d<=-1)) //р..я
d=w-16;
if(d>=-88) d=-16; if(d<=-81) d=-15;//Ё,ё
}
//главная функция
int main()
{char inp,out;
ofstream fout("out.txt");
cout<<"inp:";cin>>inp;
DosToWin(inp,inp);
fout<<inp;
fout.close();
ifstream finp("out.txt");
finp>>out;
finp.close();
WinToDos(out,out);
cout<<"out="<<out<<endl;
return 0;}
}