Показать сообщение отдельно
Старый 26.12.2010, 15:58
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 8  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
а с мультибайтовыми символами на php проблем не было?
на тот случай, если кодируемый текст содержит русские символы в utf-8

Добавлено через 24 часа 13 минут
Вопрос.
Что я делаю не так?
Английские символы и цифры - без проблем туда-обратно, русские - только в одну сторону.

Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.utils.ByteArray;
 
	public class Main extends Sprite 
	{
 
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
 
			var str:String ="123456789 include english and в том числе и русские символы";
			var key:String ="qwerty";
 
			var strCoded:String = codeXOR(str, key);
			var strDecoded:String = codeXOR(strCoded, key);
			trace("String: ",str);
			trace("Coded string: ",strCoded);
			trace("Decoded string: ",strDecoded);
 
		}
 
 
		private function XOR(binaryData:ByteArray, key:String):void 
		{
			var keyIndex:Number=0;
			for (var i:Number = 0; i < binaryData.length; i++) {
				binaryData[i] = binaryData[i] ^ key.charCodeAt(keyIndex);
				keyIndex++;
				if (keyIndex >= key.length) {
					keyIndex=0;
				}
			}
		}
 
		private function codeXOR(string:String, key:String):String
		{
			var byteArray:ByteArray = new ByteArray();
			byteArray.writeUTFBytes(string);
			XOR(byteArray, key);
			var resultString:String = byteArray.toString();
			return(resultString);
		}		
 
	}
 
}
Выдает:

Код:
String:  123456789 include english and в том числе и русские символы

Coded string:  @EVFAOFO\RY
WY¡ÅE£ö©ϧÙR¥þ¡ϴó¤¡ÂE¢ÌY*÷´ñ¥ø*öµȤÁ¡ÂE£õ©ɧ٢Ʃϧޣÿ

Decoded string:  123456789 include english and ³֦÷1»ҴӰݶִü ¶ܲɧӻͲħֶزõ °ֺý.§ҷγæöܲϧҷϳ*ַø³֦ð1»Ҵаݰ֮Ǵݶ֩ƱË


Добавлено через 26 часов 4 минуты
ок, разобрался
надо еще в base64 кодировать


Последний раз редактировалось mikhailk; 27.12.2010 в 18:03.