У меня проблемы с чтением текста из внешнего XML. У Flash нет проблем с символами ascii из (32-127), но он не может отображать расширенные символы (128-255). В этом XML у меня есть, например, " (DEC: 132) и " (DEC: 147). В XML эти символы не видны, но все же есть. Flash не может их показать. Мой подход состоял в том, чтобы получить каждый charCode и преобразовать его в строку, но это работает только для печатных символов.
var textToConvert:String = xml.parameters.text[1].value;
trace("LENGTH = "+textToConvert.length);
var test:String="";
for(var i:int=1;i<textToConvert.length;i++){
trace(textToConvert.charCodeAt(i));
//OCT
trace(textToConvert.charCodeAt(i).toString(8));
//HEX
trace(textToConvert.charCodeAt(i).toString(16));
//HEX
test += textToConvert.charCodeAt(i).toString(16);
trace("SYMBOL : " +String.fromCharCode(textToConvert.charCodeAt(i)))
}
trace("TEST: "+test);
Результат:
76
114
4c
СИМВОЛ : Л
132
204
84
СИМВОЛ: (не виден)
Следующее, что я делал, это прикреплять escape-последовательность к каждому символу "\x" в HEX-значении, а затем преобразовывать его в строку, но это тоже не работает:
s = "\x93\x93\x84\x93\x84";
ba.writeMultiByte(s,"ASCII");
trace(s);
Это был мой первый подход (не работает):
var byteArray:ByteArray = new ByteArray();
byteArray.writeMultiByte(textToConvert,"iso-8859-1");
trace("HIER: "+byteArray.readUTFBytes(byteArray.bytesAvailable));
Что было бы универсальным подходом к решению этой проблемы?
Это xml, в нем есть скрытые символы ascii (кавычки). Я хочу проанализировать значения узлов, включая эти символы: