Цитата:
Сообщение от cursed_man
проблемы в виде символа конца строки. Строку в результате порвет.
|
Ну и что, пусть будет символ конца строки, при декодировании он исчезнет, все символы встанут на свое место. (ПРОВЕРЕНО

)
Здесь главное правильно передать закодированный текст на сервер или правильно его записать в файл. Когда пишешь в файл (если не использовать ByteArray), флеш сам выбирает кодировку, и вот здесь уже может не оказаться UTF-8. В итоге когда откроете файл, то декодировать его уже не получиться.
Решил проблему таким образом: Перевел каждый символ полученной строки в число (charCodeAt(i)) и разделил их символом '.'
Получил что-то типа такого:

Код:
119.82.71.47.19.26.84.75.64.65.38.48.23.69.40.84.73.65.73.84.4.15.93.91.68.110.87.112.73.80.66.94.84.82.108.103.80.73.4.81.86.89.10.10.122.83.75.120.71.67.53.3.67.86.19.19.22.23.49.9.28.84.31.24.31.1.57.63.92.89.82.75.109.112.67.81.73.81.86.85.65.64.1132.1100.1139.1109.1107.1104.1034.1033.99.209.1116.1100.1060.1116.1096.1058.1025.1136.1035.1107.1102.1071.1149.69.1110.1074.1100.1100.1101.1059.1033.1150.1109.75.1115.1030.1113.1025.1099.1114.1087.73.84.222.108.98.1130.1127.1070.75.74.72.2.16.78.112.118.127.110.83.123.104.2.63.57.80.126.110.100.104.98.84.116.123.67.80.26.5.84.69.86.118.87.124.126.107.126.110.65.84.125.109.125.115.60.97.64.79.61.51.78.112.118.127.110.64.86.49.69.83.65.21.83.23.48.4.28.17.116.123.80.68.119.84.30.15.68.8.71.116.126.107.94.85.87.84.65.64.64.116.59.75.106.98.1.52.73.87.119.67.85.110.124.82.60.56.19.108.121.85.73.111.69.69.72.64.126.110.4.56.102.91.80.104.87.125.93.83.67.84.95.104.70.123.125.115.28.90.86.89.61.51.115.119.76.85.85.82.81.111.59.3.62.107.94.85.117.84.101.126.73.124.121.105.62.4.97.97.73.119.86.116.126.107.67.105.108.66.107.71.122.72.60.97.74.89.1.8.78.112.118.127.110.110.124.83.60.56.30.80.66.85.73.111.88.121.115.81.126.110.5.56.102.70.85.119.86.72.121.81.126.110.70.104.70.123.125.115.28.90.86.89.61.51.115.119.76.82.105.105.71.111.59.17.19.34.18.22.32.69.38.84.75.124.121.73.5.4.93.102.110.118.106.79.83.108.121.85.107.111.97.123.65.72.60.97.87.101.58.25.78.112.119.127.110.78.71.83.0.63.57.81.126.110.100.104.98.69.116.123.94.85.5.4.97.97.84.75.109.101.126.107.66.105.108.72.125.123.65.116.59.91.106.98.16.52.73.75.75.120.73.82.71.83.60.56.3.108.121.68.73.111.89.121.115.92.66.85.5.56.102.91.105.76.71.72.121.80.126.110.75.84.125.123.125.115.1.102.109.72.61.51.114.119.76.95.85.82.71.111.59.2.62.107.83.105.78.84.101.126.84.64.66.85.57.63.92.102.110.102.106.79.66.108.121.71.70.38.45.56.20.89.127.75.84.101.58.9.78.112.118.127.110.67.123.104.0.63.57.81.126.110.116.104.98.84.116.123.66.105.62.0.97.97.84.75.109.101.126.107.66.105.108.85.65.64.64.116.59.75.106.98.1.52.73.87.119.67.85.110.124.82.60.56.19.108.121.85.73.111.69.69.72.64.126.110.4.56.102.75.105.76.86
И всё это уже пишу в файл в нужной мне кодировке как ByteArray (побайтно).
Потом перед декодированием просто перевожу всё обатно в символы -

Код AS3:
var arr:Array = str.split('.');
str = '';
for (var i:uint=0; i<=arr.length-1; i++) {
str += String.fromCharCode(arr[i])
}