В AS2 у вас были функции ord() и chr(), которые специально преобразовывали коды ASCII в их строковые эквиваленты.
ord()
chr()
Однако в AS3 String.charCodeAt() и String.fromCharCode() работают со значениями Unicode.
String.charCodeAt()
String.fromCharCode()
Есть ли способ преобразовать символ строки в эквивалент ASCII и обратно?
Ну, я нашел ответ, и он довольно странный.
Обычные так называемые "Unicode" функции, похоже, также работают со значениями ASCII.
trace(String.fromCharCode(65)) // "A" trace(("A").charCodeAt(0)) // 65
Для музыкального обозначения резкого и плоского использования:
var flat:String = "♭"; trace( flat.charCodeAt() ); // output: 9837 trace( String.fromCharCode(9837) ); // output: ♭ var sharp:String = "♯"; trace( sharp.charCodeAt() ); // output: 9839 trace( String.fromCharCode(9839) ); // output: ♯
странно, в документации говорится, что эти методы работают с Unicode, но, протестировав их, я получил значения ASCII.Может быть, я что-то упускаю, но это выглядит хорошо для меня.
var str:String = "A"; trace("ASCII dec: " + str.charCodeAt(0)); trace("ASCII hex: " + str.charCodeAt(0).toString(16)); trace("Character: " + String.fromCharCode(str.charCodeAt(0)));
Таблица ASCII: http://www.sciencelobby.com/ascii-table/ascii-table.html
Роб