在PB中,字串與十六進製制的互轉

2021-04-19 04:24:47 字數 1153 閱讀 5185

//字串轉換為16進製制

string ls_hex = '',hex =''

char lch_hex[0 to 15] =

int li_d,i

character ac_d

if isnull(astr) then

setnull(ls_hex)

return ls_hex

end if

for i=1 to len(astr)

ac_d = mid(astr,i,1)

li_d = asc(ac_d)

hex = ''

do hex = lch_hex[mod(li_d, 16)] + hex //mod 取餘數

li_d /= 16

loop until li_d= 0

if len(hex) = 1 then hex = '0' + hex

ls_hex = ls_hex + hex

next

return ls_hex

//16進製制轉換為字串

string ls_str = ''

char lch_hex[0 to 15] =

int li_d,i,m,k,l

character ac_d

if isnull(as_hex) then

setnull(as_hex)

return as_hex

end if

k = len(as_hex)/2

for i=0 to  k -1

ac_d = mid(as_hex,i*2 + 1,1)

for m = 0 to 15

if lch_hex[m] = ac_d then exit

next

ac_d = mid(as_hex,i*2 +2,1)

for l = 0 to 15

if lch_hex[l] = ac_d then exit

next

li_d = m * 16 + l

ac_d = char(li_d)

ls_str = ls_str + ac_d

next

return ls_str

十六進製制字串操作

任何資料在計算機內部都是以二進位制儲存的,所以進製與資料的儲存無關,只與輸入 輸出有關。所以,對於進製轉換,我們只關心字串中的結果。在上面的第 4 條中提到了 tostring 方法可以將數值轉換成字串,不過在字串 中,結果是以十進位制顯示的。現在我們帶給它加一些引數,就可以將其轉換成十六進製制 使...

十六進製制字串操作

任何資料在計算機內部都是以二進位制儲存的,所以進製與資料的儲存無關,只與輸入 輸出有關。所以,對於進製轉換,我們只關心字串中的結果。在上面的第 4 條中提到了 tostring 方法可以將數值轉換成字串,不過在字串 中,結果是以十進位制顯示的。現在我們帶給它加一些引數,就可以將其轉換成十六進製制 使...

十六進製制字串操作

任何資料在計算機內部都是以二進位制儲存的,所以進製與資料的儲存無關,只與輸入 輸出有關。所以,對於進製轉換,我們只關心字串中的結果。在上面的第 4 條中提到了 tostring 方法可以將數值轉換成字串,不過在字串 中,結果是以十進位制顯示的。現在我們帶給它加一些引數,就可以將其轉換成十六進製制 使...