![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 172
|
Добрый день, при создание кода кодирования и декодирования текста возникли ошибки.
function code(st:String) { var _key:String = "!"; var _ret:String = ""; var _kind:String = _kind.charCodeAt(_key); var _lind:String = 0; for (i=0; i<st.length; i++) { _lind = _lind.charCodeAt(st.charAt(i)); _ret += _ret.fromCharCode(_kind ^ _lind); } return _ret; trace (st); } code("665"); at code_decodeas3_fla::MainTimeline/code() Как можно исправить код? |
|
|||||
|
1. пишите в классах, не пишите в кадрах
2. функция code не имеет определения типа возвращаемого значения ( function code(st:String):String ), да и лучше её переименовать на myCode или сoding 3. return _ret; trace (st); // никогда не сработает так как функция завершает свою работу после return 5. ошибка скорей всего в потому что переменная i не определенна
__________________
return this... |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 172
|
Спасибо, я исправил код, но ошибки ещё есть.
function coding(st:String):String { var _key:String = "!"; var _ret:String = ""; var _kind:String = "0" _kind = _kind.charCodeAt(_key); trace (_kind) var _lind:String = '0'; for (var i:uint=0; i<st.length; i++) { _lind = _lind.charCodeAt(st.charAt(i)); _ret += _ret.fromCharCode(_kind ^ _lind); } trace (st); return _ret; } abc.text = coding(ab.text); |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 172
|
Получаться должно вот так: тест - ѣДѠѣ
Вообще изначально было на as2, хотел переделать на as3. |
|
|||||
|
[+4 24.04.13]
[+4 20.04.13] Регистрация: Feb 2013
Адрес: Seireitei
Сообщений: 176
|
тю )
|
|
|||||
|
это ж XOR....справка молчит?)
http://help.adobe.com/en_US/FlashPla...ml#bitwise_XOR
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
эм...
trace(-2^-3); // 3 trace(-2^-2); // 0 trace(-2^-1); // 1 trace(-2^0); // -2 trace(2^-3); // -1 trace(2^-2); // -4 trace(2^-1); // -3 trace(2^0); // 2 trace(2^3); // 1 trace(2^2); // 0 trace(2^1); // 3 trace(2^0); // 2 Цитата:
можете объяснить каким образом формируется получаемое значение, в справке Цитата:
__________________
return this... |
|
|||||
|
это побитовый XOR
берем каждый бит из каждого из аперандов и смотрим...если 1 и 1 , то будет 0, если 0 и 0, то будет 0..если 0 и 1, то будет 1.. например 27 // в бинарном 0011011 и 97 // в бинарном 1100001 0011011 ^ 1100001 = 1111010 // что в десятичном даст 122
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:12. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|