Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ActionScript中拆分字符串_Actionscript - Fatal编程技术网

在ActionScript中拆分字符串

在ActionScript中拆分字符串,actionscript,Actionscript,在ActionScript中,您可以为split方法传入一个空分隔符,它会将字符串拆分为一个数组,如下所示: var myString:* = "Test"; var myArray:* = myString.split(""); // myArray contains "T", "e", "s", "t" 我想知道的是,数组是Unicode字符,包含8个字节还是ASCII字符,包含4个字节?注意:您可以接受发布的代码,因为AS3遵循与JS相同的ECMAscript约定,但是。。。查看代码的另

在ActionScript中,您可以为split方法传入一个空分隔符,它会将字符串拆分为一个数组,如下所示:

var myString:* = "Test";
var myArray:* = myString.split("");
// myArray contains "T", "e", "s", "t"

我想知道的是,数组是Unicode字符,包含8个字节还是ASCII字符,包含4个字节?

注意:您可以接受发布的代码,因为AS3遵循与JS相同的ECMAscript约定,但是。。。查看代码的另一种方式,AS3方式

变量名称:类型=值

AS3中的数组就是这样,一组项的集合!它们可以是字符串、数字、字节或其他任何形式。单个数组对象可以在不同索引处具有混合的项类型

不过,您询问了字节,所以我希望您理解拆分字符串的数组结果与ByteArray不同。可以说这是一个通用数组

根据经验,Flash字符串的默认模式似乎是Unicode/UTF-8。所以从技术上讲,你有4个字节直到。。您决定实际创建一个真正的字节数组,并选择如何将字符串写入字节将决定最后是4还是8

var myString:String = "Test";
var myBytes:ByteArray = new ByteArray();
myBytes.writeMultiByte( myString, "ASCII" );   //length = 4 bytes
myBytes.writeMultiByte( myString, "Unicode" ); //length = 8 bytes

PS:Flash将UTF-8 4字节和UTF-16 8字节都视为Unicode。在代码中加入Unicode将使其默认为UTF-16,但您可以改为设置UTF-8以获得4字节的结果。

谢谢您的解释。正如你可能知道的,我对这个lol感到困惑。是的,我自己也去过。我在答案的底部加了一个PS。如果您需要再次检查:
var myString:String = "Test";
var myBytes:ByteArray = new ByteArray();
myBytes.writeMultiByte( myString, "ASCII" );   //length = 4 bytes
myBytes.writeMultiByte( myString, "Unicode" ); //length = 8 bytes