Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Использование ReadMultiByte()/WriteMultiByte() для вывода русскоязычного текста. (http://www.flasher.ru/forum/showthread.php?t=109341)

Torero 12.03.2008 17:03

Использование ReadMultiByte()/WriteMultiByte() для вывода русскоязычного текста.
 
Пытаюсь разобраться с вышеупомянутыми функциями - не получается.:(
Подскажите плз: что делаю не так?

1.txt
Код:

        Привет, World!
TestC.as
Код:

package {
import flash.net.*;
import flash.utils.*
import flash.events.*;
        public class TestC extends URLLoader {
public function TestC(){
        load(new URLRequest("1.txt"));
        addEventListener(Event.COMPLETE, done);
}
private function done(e:Event):void{
        trace("*****************TESTING*****************");
        var s:String;
        var ba:ByteArray=new ByteArray();
        ba.writeMultiByte(e.target.data,"windows-1251");
        ba.position=0;
        s=ba.readMultiByte(ba.length,"UTF-8");
        trace(s);
        trace("*****************************************");
        removeEventListener(Event.COMPLETE, done);
}

Выводятся кракозябры вместо кириллицы.:(

etc 12.03.2008 18:02

А что именно вы хотели сделать?

Torero 12.03.2008 18:04

Хотел научиться переводить текст, кодировка которого известна, в utf для последующего вывода на экран. Для этого пытаюсь записать этот текст в ByteArray в той кодировке, в которой он сохранен, после чего, считать его в кодировке utf-8.

BlooDHounD 12.03.2008 18:23

это вам нужно его записать в кодировке ЮТФ, и считать его в том в чём надо

etc 12.03.2008 18:25

Цитата:

Сообщение от Torero
Хотел научиться переводить текст, кодировка которого известна, в utf для последующего вывода на экран. Для этого пытаюсь записать этот текст в ByteArray в той кодировке, в которой он сохранен, после чего, считать его в кодировке utf-8.

А почему нельзя просто прочитать через readMultiByte без всяких левых ByteArray?
Буквально сегодня пример в ruFlash писал:
Код:

var loader:URLLoader = new URLLoader(new URLRequest('xml.xml'));
loader.dataFormat = URLLoaderDataFormat.BINARY;
function complete(event:Event):void {
        var ba:ByteArray = loader.data as ByteArray;
        var xml:XML = new XML(ba.readMultiByte(ba.length, 'windows-1251'));
        trace(xml.toXMLString());
}
loader.addEventListener(Event.COMPLETE, this.complete);

А уж что делать с полученной строкой, записать куда-то или ещё что — вам решать.

Torero 12.03.2008 18:54

_etc, вам памятник в полный рост надо ставить рядом с Мининым и Пожарским.:)
Спасибо.


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.