在ActionScript中的字符串,你可以通過在爲split
方法的空白分隔符,它會打破串起來到一個數組,像這樣:拆分在ActionScript
var myString:* = "Test";
var myArray:* = myString.split("");
// myArray contains "T", "e", "s", "t"
什麼我不知道,如果是該數組是Unicode字符,包含8個字節或ASCII字符,包含4個字節?
在ActionScript中的字符串,你可以通過在爲split
方法的空白分隔符,它會打破串起來到一個數組,像這樣:拆分在ActionScript
var myString:* = "Test";
var myArray:* = myString.split("");
// myArray contains "T", "e", "s", "t"
什麼我不知道,如果是該數組是Unicode字符,包含8個字節或ASCII字符,包含4個字節?
(注:你沒問題的發佈代碼,因爲AS3如下的ECMAScript規範一樣JS,但...)的另一種方式來看待你的代碼,AS3的方式...
var
可變名稱:Type
=Value;
var myString:String = "Test";
var myArray:Array = myString.split("");
// myArray contains "T", "e", "s", "t"
AS3中的陣列就是這樣一個項目的分組集合!它們可以是字符串,數字或字節或其他。一個Array
對象可以在不同索引處具有混合項目類型。
你問到字節雖然所以我希望你能理解從「分裂」的字符串是不一樣的事,作爲一個ByteArray
這Array
結果。可以這麼說,這是一個「通用」數組。
Flash String
的默認模式似乎是來自體驗的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字節結果。
感謝您的解釋。正如你可能會說的那樣,我對這個哈哈感到困惑。 – Icemanind 2014-10-03 02:07:02
是的,我一直在那裏。我在答案的底部添加了一個PS。如果您需要仔細檢查:** [AS3支持的字符集](http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/charset-codes.html)** – 2014-10-03 02:44:03