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

ObjectToHex 函數

說明

將 .Net 數值變數型別轉換成16進位字串

本函數之引數列表

引數 型態 位元組 選項 預設值 說明
hObj Object - 必須 (無) 數值物件變數。
bBigEndian Boolean 1 可省略 False 由於 Windows 採用 Little Endian ,故預設改依記憶體順序排列,欲輸出類同 Hex 先高位元後低位元者,則需設定 BigEndian 引數為 True

傳回值

字串 (String)

範例

Debug.WriteLine(ObjectToHex(True)) ' 傳回 01
Debug.WriteLine(ObjectToHex(CByte(&HF))) ' 傳回 0F
Debug.WriteLine(ObjectToHex(CChar("璉"))) ' 傳回 8974
Debug.WriteLine(ObjectToHex(CDate("2004/12/3 1:34:56"))) ' 傳回 0060B36DEFA6C608
Debug.WriteLine(ObjectToHex(CDbl(0).MinValue)) ' 傳回 FFFFFFFFFFFFEFFF
Debug.WriteLine(ObjectToHex(CDec(0).MinValue)) ' 傳回 FFFFFFFFFFFFFFFFFFFFFFFF00000080
Debug.WriteLine(ObjectToHex(CInt(1))) ' 傳回 01000000
Debug.WriteLine(ObjectToHex(CLng(1), True)) ' 傳回 0000000000000001
Debug.WriteLine(ObjectToHex(CShort(&H80), True)) ' 傳回 0080
Debug.WriteLine(ObjectToHex(CSng(1))) ' 傳回 0000803F
Debug.WriteLine(ObjectToHex("培基語言")) ' 傳回 F957FA579E8A008A
Debug.WriteLine(ObjectToHex(MyArray(1, "培基語言", CDbl(-1)))) ' 傳回 01000000F957FA579E8A008A000000000000F0BF
Debug.WriteLine(ObjectToHex(MyArray(CDbl(0.1), CDbl(1 / 3), CDbl(-1)))) ' 傳回 9A9999999999B93F555555555555D53F000000000000F0BF

更進一步

函數與 VB 的 Hex 主要不同處在於本函數傳回記憶體中的16進位值, VB 的 Hex 會先將浮點數轉成整數後傳回,因此本函數傳回值包含有 0 及浮點數指數部分

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

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

基本條件

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

請參閱

modStrTools 函式庫 | ObjectToByte | ByteToHex | HexToObject