VBStrConv函式亂碼的問題

2021-05-03 21:54:36 字數 1957 閱讀 1062

1樓:

正如樓上所說,vb本身就是unicode,如果你知道了unicode的位元組碼,可以直接用它來構造vb的字串。

舉例:dim b1(0 to 5) as byte'下面你就把這個位元組陣列填充為你要轉換的unicode碼:d1 91 1b 52 6f 83

b1(0) = &hd1

b1(1) = &h91

b1(2) = &h1b

b1(3) = &h52

b1(4) = &h6f

b1(5) = &h83

dim str1 as string

str1 = b1 '直接將位元組陣列賦值給字串msgbox str1 '彈出對話方塊顯示「金創藥」

2樓:匿名使用者

記住,在vb裡,漢字是作為unicode字元來處理的.

所以msgbox strconv("金創藥", vbunicode)這句是不正確的,應該用strconv("金創藥", vbfromunicode)這種方式把漢字轉換為非unicode字元。

同理,第二句應該改為

msgbox strconv(strconv("金創藥", vbfromunicode), vbunicode)

3樓:匿名使用者

vb裡的漢字本來就是按unicode來處理的

轉字串

public function decode(strdecode as string) as string

dim i as long

dim strcode '儲存轉換後的編碼

dim chrtmp

on error goto errproc

if len(strdecode) mod 4 <> 0 then goto errproc

for i = 1 to len(strdecode) step 4

strcode = mid(strdecode, i, 4)

chrtmp = mid(strcode, 1, 2)

strcode = mid(strcode, 3, 2) & chrtmp

chrtmp = chrw("&h" & strcode)

if chrtmp = "?" then if strcode <> "003f" then goto errproc

decode = decode & chrtmp

next

exit function

errproc:

end function

轉unicode

public function encode(strencode as string) as string

dim i as long

dim chrtmp

dim bytelower, byteupper

dim strreturn '儲存轉換後的編碼

for i = 1 to len(strencode)

chrtmp = mid(strencode, i, 1)

byteupper = hex(ascb(midb(chrtmp, 1, 1)))

if len(byteupper) = 1 then byteupper = "0" & byteupper

bytelower = hex(ascb(midb(chrtmp, 2, 1)))

if len(bytelower) = 1 then bytelower = "0" & bytelower

strreturn = strreturn & byteupper & bytelower

next

encode = strreturn

end function

4樓:匿名使用者

msgbox "金創藥"

就可以顯示出「金創藥」了,還需要轉換嗎,vb自動進行unicode轉換的,一般不需要人工干預。

問關於函式極限的問題,問一個關於函式極限的問題?

極限是存在的,就如樓上所說的,極限存在的定義是左右極限存在且相等,明顯極限是存在的,等於0 但導數是不存在,類似於極限的定義,在一元函式中,某點導數存在的定義,是左右極限存在且相等,左右導數存在且相等。f x 左導數為 1,右導數為1,所以在x 0點導數不存在 極限存在導數並非存在,極限是f x 的...

關於EXCEL的HYPERLINK函式問題

hyperlink c book1.xls a工作表中a1的單元格中寫入公式 hyperlink 表b a row a1 點選 然後下拉填充即可。祝你成功!excel中hyperlink函式的問題 下面公式中 a5 a1 只能顯示 中的內容 a5 a1 而上面的 a5 a1 顯示的是 連線 a5 的...

VB中RND函式的問題,VB中 rnd函式問題?

rnd 函式 返回一個包含隨機數值的 single。語法rnd number 可選的 number 引數是 single 或任何有效的數值表示式。返回值如果 number 的值是 rnd 生成 小於 0 每次都使用 number 作為隨機數種子得到的相同結果。大於 0 序列中的下一個隨機數。等於 0...