www.boolean.name

www.boolean.name (http://forum.boolean.name/index.php)
-   Загадки (http://forum.boolean.name/forumdisplay.php?f=87)
-   -   Задачка - байты и текст (http://forum.boolean.name/showthread.php?t=14539)

moka 05.04.2011 18:32

Задачка - байты и текст
 
Это скорее задачка, а не загадка.
Рассчитана на тех кто интересуется работы с текстом, конвертация в другие типы данных, используя разные кодировками и криптование.
Далее будет усложнятся, и использоваться не только кодировка, но и криптование.

Первый Текст
Используется UTF16 (Unicode) кодировка. То есть, 16 бит на символ. Нужно преобразовать последовательность цифр в виде длинной строки, в текст используя данные о кодировки.
Выведите текст который "хранится" за этими числами.

Перечисленные цифры для расшифровывания:
1069 1092 1092 1077 1082 1090 32 1044 1072 1085 1085 1080 1085 1075 1072 45 1050 1088 1102 1075 1077 1088 1072 32 8212 32 1082 1086 1075 1085 1080 1090 1080 1074 1085 1086 1077 32 1080 1089 1082 1072 1078 1077 1085 1080 1077 44 32 1082 1086 1090 1086 1088 1086 1077 32 1079 1072 1082 1083 1102 1095 1072 1077 1090 1089 1103 32 1074 32 1090 1086 1084 44 32 1095 1090 1086 32 171 1083 1102 1076 1080 44 32 1080 1084 1077 1102 1097 1080 1077 32 1085 1080 1079 1082 1080 1081 32 1091 1088 1086 1074 1077 1085 1100 32 1082 1074 1072 1083 1080 1092 1080 1082 1072 1094 1080 1080 44 32 1076 1077 1083 1072 1102 1090 32 1086 1096 1080 1073 1086 1095 1085 1099 1077 32 1074 1099 1074 1086 1076 1099 32 1080 32 1087 1088 1080 1085 1080 1084 1072 1102 1090 32 1085 1077 1091 1076 1072 1095 1085 1099 1077 32 1088 1077 1096 1077 1085 1080 1103 44 32 1085 1086 32 1085 1077 32 1089 1087 1086 1089 1086 1073 1085 1099 32 1086 1089 1086 1079 1085 1072 1074 1072 1090 1100 32 1089 1074 1086 1080 32 1086 1096 1080 1073 1082 1080 32 1074 32 1089 1080 1083 1091 32 1089 1074 1086 1077 1075 1086 32 1085 1080 1079 1082 1086 1075 1086 32 1091 1088 1086 1074 1085 1103 32 1082 1074 1072 1083 1080 1092 1080 1082 1072 1094 1080 1080 187


Мой вариант функции расшифровывания на C#:
Код:

private string Decode (string source) {
    string[] numbers = source.Split(' ');
    byte[] bytes = new byte[numbers.Length*2];

    for (int i=0;i<numbers.Length;++i) {
        byte[] pair = BitConverter.GetBytes((short)int.Parse(numbers[i]));
        bytes[i*2]  = pair[0];
        bytes[i*2+1] = pair[1];
    }

    return UnicodeEncoding.Unicode.GetString(bytes);
}


impersonalis 05.04.2011 19:54

Ответ: Задачка - байты и текст
 

Паучоке Петрович тоже так умеет кодить == )
Код:

return imperCoolFuncCollection::INTERF().SuperDecode(string source);

IGR 05.04.2011 20:58

Ответ: Задачка - байты и текст
 
хм.. Мока, я функу не тестил но чет бросается в глаза - по условию задачи ютф16, а в коде в ретурне используется ютф8 судя по названию класса !! Но если работант то ок !! :)

moka 05.04.2011 23:50

Ответ: Задачка - байты и текст
 
Цитата:

Сообщение от IGR (Сообщение 185063)
хм.. Мока, я функу не тестил но чет бросается в глаза - по условию задачи ютф16, а в коде в ретурне используется ютф8 судя по названию класса !! Но если работант то ок !! :)

Там просто доступ к интерфейсу Unicode из других энкодеров, поправил функцию.

Phantom 06.04.2017 11:13

Ответ: Задачка - байты и текст
 
А где продолжение?

moka 08.04.2017 22:35

Ответ: Задачка - байты и текст
 
Вот жеж некрофил... :D
6 лет спустя..

Phantom 09.04.2017 10:21

Ответ: Задачка - байты и текст
 
Цитата:

Сообщение от moka (Сообщение 313170)
Вот жеж некрофил... :D
6 лет спустя..

Это не я, передо мной спамер тему поднял, по ходу его пост удалили уже.


Часовой пояс GMT +1, время: 03:18.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot