Home 綜合 vb 符串 轉為十六進位制,VB 字串 轉為十六進位制

vb 符串 轉為十六進位制,VB 字串 轉為十六進位制

0

  vb字串可通過使用strconv 函式,將字串由 unicode 轉成系統的預設碼頁後,再獲取每個位元組的十六進位制字元後拼接起來。

  strconv 函式,返回按指定型別轉換的 variant (string)。

  實現**:

  private?sub?command1_click()

  dim?strsj?as?string

  dim?strhexsj?as?string

  dim?i?as?long

  dim?bytsj()?as?byte

  strsj?=?”123abc十六進位制”

  bytsj?=?strconv(strsj,?vbfromunicode)

  for?i?=?0?to?ubound(bytsj)

  strhexsj?=?strhexsj?&?right(“0″?&?hex(bytsj(i)),?2)

  next

  debug.print?strhexsj

  end?sub

  vbfromunicode,將字串由 unicode 轉成系統的預設碼頁。

  既可以轉換單位元組字元也可轉換雙位元組字元。

  先將字串前面都加一個&h符號,然後使用val函式轉成十進位制,如果要用十六進位制顯示的話,使用hex函式

  dim str as string

  dim n as integer

  dim str2 as string

  str=”a0”

  str=str & “&h”

  n=val(str) ‘返回包含於字串內的數字,val函式能夠識別&h符號

  str2=hex(n) ‘返回代表十六進位制數值的 string。

  求vb中將字串轉換為16進位制的ascii碼

  dim i as integer

  text2=””

  for i = 1 to len(text1)text2 = text2 + format(hex(asc(mid(text1, i, 1))),”0000″)

  next

  以上為熱心網友的結果,只是為了準確轉換數字與漢字,加了一點東西.

  text2.text = hex(asc(text1.text))

  該死,這樣不行.

  private sub command1_click()for i = 1 to len(text1.text)n = jinzhizhuanh(asc(mid(text1.text, i, 1)))

  jieguo = jieguo & n & ” ”

  next i

  text2.text = jieguo

  end sub

  function jinzhizhuanh(n as integer) as string

  dim a(15) as string

  b = “0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f”

  for i = 0 to 15

  a(i) = split(b, “,”)(i)next i

  do while n > 15

  s = int(n / 16)

  k = a(n – s * 16) & kn = s

  loop

  k = a(n) & k

  jinzhizhuanh = k

  end function