Когда я пытаюсь преобразовать байты в символы, flex останавливает преобразование, если встречается с номером unicoder 0 (NUL). Почему это так? Flex может конвертировать 1-256 номеров юникода, кроме 0. В следующем примере окно предупреждения не отображает текст, поскольку параметры начинаются с 0 при формировании строкового сообщения из номеров юникода.Почему строка flex НЕ поддерживает unicode 0?
<?xml version="1.0" encoding="utf-8"?>
<s:Application name="Alert" xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" creationComplete="init();">
<s:controlBarContent>
<s:Button id="btn"
label="Show alert"
click="init();"/>
</s:controlBarContent>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
protected function init():void {
// if string message value is String.fromCharCode(78,0);, then Alert displays as N
//Here, since message starts with unicode character 0, Alert displays nothing.
//Flex string is getting stopped if it encounters unicode 0, why is it so?
//but flex string supports other contorl ascii characters except NUL (0)
var message:String=String.fromCharCode(0, 78, 1);
Alert.show(message, "", Alert.YES | Alert.NO | Alert.OK | Alert.CANCEL);
}
]]>
</fx:Script>
</s:Application>
Я не уверен, почему flex не может преобразовать символ Юникода 0? Временно, я преобразовываю их в 32 (пустое пространство), если это 0. Заранее спасибо.