forum.boolean.name

forum.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 22: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 23:54

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

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

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

IGR 06.04.2011 00:58

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

moka 06.04.2011 03:50

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

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

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

Phantom 06.04.2017 14:13

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

moka 09.04.2017 01:35

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

Phantom 09.04.2017 13:21

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

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

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

Tiranas 28.01.2021 10:46

Ответ: Задачка - байты и текст
 
Сколько мне лет? - Когда моему отцу был 31 год, мне было 8 лет, а теперь отец старше меня вдвое. Сколько мне лет теперь?

ant0N 28.01.2021 12:18

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

Tiranas 29.01.2021 02:41

Ответ: Задачка - байты и текст
 
Ответ - 23 года. Разность между годами отца и сына равна 23 годам; следовательно, сыну надо иметь 23 года, чтобы отец был вдвое старше его.


Часовой пояс GMT +4, время: 16:57.

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