[英]C# datatypes in AS3
我正在將一些C#解壓縮代碼移植到AS3,並且由於它做了一些非常復雜的工作,因此它使用了一系列數據類型,例如byte
和short
。 問題是,AS3沒有這些數據類型。
在大多數情況下,我可以使用uint
來保存這些值。 但是,在某些時候,我會得到如下一行:
length[symbol++] = (short)len;
據我了解,這意味着必須讀取len
並將其作為short
分配給length
數組。 所以我想知道,如何在AS3中做到這一點? 我想也許要做:
length[symbol++] = len & 0xFF;
但是我不確定這是否會產生適當的結果。
因此,基本上,我的問題是:在AS3中執行此類操作時,如何確保保持正確的字節數? 也許我應該改用ByteArray
?
根據使用C#代碼進行轉換的原因,您可能需要也可能不需要將其保留在AS3代碼中。 如果僅將cast的類型調整為length
數組元素的類型(即不損失精度),則不需要使用cast。 如果len
實際上可以大於0x7FFF,則需要執行一些強制轉換。
我認為,如果您需要處理類似於C# StreamReader
結果,則ByteArray
可能是一個合理的選擇,隨機訪問可能會比必要的困難。
請注意, short
是2個字節長( System.Int16
同義詞),因此要使用位操作將其轉換為它,您需要執行& 0xFFFF
。 如果在有符號和無符號類型之間進行轉換,也要非常小心...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.