Re: Что такое таблицы перекодировки?
- From
- Yuri Muhitov ()
- To
- V.Scorpion
- Date
- 2002-12-13T19:11:21Z
- Area
- RU.ALGORITHMS
From: "Yuri Muhitov" <muhitov@bercut.ru>
Приветствую всех!
С уважением, Юрий.
"V.Scorpion" <ussov@bimash.kz> wrote in message
news:atcv6q$oqs$5479@www.fido-online.com...
> Hi All,
>
> Что такое таблицы перекодировки?
То, что позволяет перекодировать....
Приведенная программа читает из stdin, перекодирует из win1251 в cp866, и
выводит результат в stdout.
Ниже - программа для получения таблицы в случае, если ее у тебя еще нет...
------------------------------------------------------------
#include <io.h>
unsigned char codetable[] = {
'\x0', '\x1', '\x2', '\x3', '\x4', '\x5', '\x6', '\x7', '\x8', '\x9', '\xA',
'\xB', '\xC', '\xD', '\xE', '\xF', '\x10', '\x11', '\x12', '\x13', '\x14',
'\x15', '\x16', '\x17', '\x18', '\x19', '\x1A', '\x1B', '\x1C', '\x1D',
'\x1E',
'\x1F', '\x20', '\x21', '\x22', '\x23', '\x24', '\x25', '\x26', '\x27',
'\x28',
'\x29', '\x2A', '\x2B', '\x2C', '\x2D', '\x2E', '\x2F', '\x30', '\x31',
'\x32',
'\x33', '\x34', '\x35', '\x36', '\x37', '\x38', '\x39', '\x3A', '\x3B',
'\x3C',
'\x3D', '\x3E', '\x3F', '\x40', '\x41', '\x42', '\x43', '\x44', '\x45',
'\x46',
'\x47', '\x48', '\x49', '\x4A', '\x4B', '\x4C', '\x4D', '\x4E', '\x4F',
'\x50',
'\x51', '\x52', '\x53', '\x54', '\x55', '\x56', '\x57', '\x58', '\x59',
'\x5A',
'\x5B', '\x5C', '\x5D', '\x5E', '\x5F', '\x60', '\x61', '\x62', '\x63',
'\x64',
'\x65', '\x66', '\x67', '\x68', '\x69', '\x6A', '\x6B', '\x6C', '\x6D',
'\x6E',
'\x6F', '\x70', '\x71', '\x72', '\x73', '\x74', '\x75', '\x76', '\x77',
'\x78',
'\x79', '\x7A', '\x7B', '\x7C', '\x7D', '\x7E', '\x7F', '\x3F', '\x3F',
'\x27',
'\x3F', '\x22', '\x3A', '\xC5', '\xD8', '\x3F', '\x25', '\x3F', '\x3C',
'\x3F',
'\x3F', '\x3F', '\x3F', '\x3F', '\x27', '\x27', '\x22', '\x22', '\x7',
'\x2D',
'\x2D', '\x3F', '\x54', '\x3F', '\x3E', '\x3F', '\x3F', '\x3F', '\x3F',
'\xFF',
'\xF6', '\xF7', '\x3F', '\xFD', '\x3F', '\xB3', '\x15', '\xF0', '\x63',
'\xF2',
'\x3C', '\xBF', '\x2D', '\x52', '\xF4', '\xF8', '\x2B', '\x49', '\x69',
'\x3F',
'\xE7', '\x14', '\xFA', '\xF1', '\xFC', '\xF3', '\x3E', '\x3F', '\x3F',
'\x3F',
'\xF5', '\x80', '\x81', '\x82', '\x83', '\x84', '\x85', '\x86', '\x87',
'\x88',
'\x89', '\x8A', '\x8B', '\x8C', '\x8D', '\x8E', '\x8F', '\x90', '\x91',
'\x92',
'\x93', '\x94', '\x95', '\x96', '\x97', '\x98', '\x99', '\x9A', '\x9B',
'\x9C',
'\x9D', '\x9E', '\x9F', '\xA0', '\xA1', '\xA2', '\xA3', '\xA4', '\xA5',
'\xA6',
'\xA7', '\xA8', '\xA9', '\xAA', '\xAB', '\xAC', '\xAD', '\xAE', '\xAF',
'\xE0',
'\xE1', '\xE2', '\xE3', '\xE4', '\xE5', '\xE6', '\xE7', '\xE8', '\xE9',
'\xEA',
'\xEB', '\xEC', '\xED', '\xEE', '\xEF'
};
int main ()
{
unsigned char buf;
while ( read ( 0, &buf, 1 ))
write ( 1, &codetable[buf], 1 );
return 0;
}
/*
// функция получения таблицы перекодировки
#include <windows.h>
#include <stdio.h>
FILE *f;
int i;
unsigned char buf[2] = { '\0', '\n' };
unsigned char out[2] = { '\0', '\n' };
f = fopen ( "table", "wb" );
fprintf ( f, "char codetable[] = {\n" );
for ( i = 0; i < 256; ++i )
{
*buf = ( unsigned char )i;
CharToOem ( buf, out );
fprintf ( f, "'\\x%X', ", *out );
if ( !( i % 10 ))
fprintf ( f, "\n" );
}
fprintf ( f, "\n};" );
fclose ( f );
*/
------------------------------------------------------------
--- ifmail v.2.15dev5
* Origin: BERCUT (2:5020/400)