modStrTools 函式庫 風禹科技驗證有限公司 網站 提供 .Net 原始碼

ByteToVariant 函數

說明

將位元組陣列轉換為 VB.NET 數值變數型別

本函數之引數列表

引數 型態 位元組 選項 預設值 說明
arrByte Byte() - 必須 (無) 位元組陣列
nVarType VariantType 4 可省略 Integer VB.NET 物件型態常數:
常數名 數值 說明
Empty 0 Null 參考。
Null 1 Null 物件。
Short 2 表示 16 位元整數的整數型別,其值介於 -32768 和 32767 之間。
Integer 3 表示 32 位元整數的整數型別,其值介於 -2147483648 和 2147483647 之間。
Single 4 表示具有 7 數字精確度從 1.5 x 10 到大約 3.4 x 10 數值範圍的浮點型別。
Double 5 表示具有 15-16 數字精確度從 5.0 x 10 到大約 1.7 x 10 數值範圍的浮點型別。
Currency 6 貨幣,在 VB.NET 不使用此類別,僅供存取 COM 物件使用。
Date 7 表示日期和時間值的型別。(0001 年 1 月 1 日 0:00:00 到 9999 年 12 月 31 日下午 11:59:59)。
String 8 表示 Unicode 字元字串的密封類別型別。(0 至大約 20 億個 Unicode 字元)。
Object 9 可以 Object 型別的變數加以儲存的任何型別。
Error 10 錯誤碼,在 VB.NET 不使用此類別,僅供存取 COM 物件使用。
Boolean 11 表示 true 或 false 的布林值的簡單型別。
Variant 12 通用型態,在 VB.NET 改用 Object 類別,僅供存取 COM 物件使用。
DataObject 13 DataObject,在 VB.NET 不使用此類別,僅供存取 COM 物件使用。
Decimal 14 表示具有 28-29 個有效位數、從 1.0 x 10 到大約 7.9 x 10 數值範圍的簡單型別。
Byte 17 表示不帶正負號的 8 位元整數的整數型別,其值介於 0 和 255 之間。
Char 18 表示不帶正負號的 16 位元整數的整數型別,其值介於 0 和 65535 之間。System.TypeCode.Char 型別的可能值集合對應於 Unicode 字元集 (Character Set)。
Long 20 表示 64 位元整數的整數型別,其值介於 -9223372036854775808 和 9223372036854775807 之間。
UserDefinedType 36 User-defined 型別。結構的每個成員都有由其資料型別所決定的範圍,與其他成員的範圍無關。
Array 8192 陣列。

bBigEndian Boolean 1 可省略 False 由於 Windows 採用 Little Endian ,故預設改依記憶體順序排列,欲輸出類同 Hex 先高位元後低位元者,則需設定 BigEndian 引數為 True

傳回值

數值物件 (Object)

範例

Debug.WriteLine(ByteToVariant(HexToByte(strHex), nVarType, bBigEndian))

更進一步

目前僅支援布林(Boolean)、位元組(Byte)、字元(Char)、短整數(Short)、長整數(Inetger)、單精度變數(Single)、倍精度變數(Double)、日期(Date)、字串(String)、十進位值(Decimal)、陣列(Array),其他目前無需求,暫不考慮發展!

字串傳回的是 UniCode 的 16 進位值,若需傳回 ASCII 的 16 進位值(存在檔案中的 16 進位值),在 .Net 應以 Encoding 轉換,或參見 StringChangeCodePages 函數。

由於難以指定字串分割處,故不支援轉為陣列字串變數。

本函數若位元組數不足,將自動補 0 以完成轉換。

本函數日期轉換將採用 VB/VBA 中 Variant Date 的記憶體方式處理。

基本條件

Visual Studio .Net 2002 以後相容版本 | StrTools.vb

請參閱

modStrTools 函式庫 | HexToVariant | GetByteOfVariantType