[VB6 ] 關於unicode轉換問題

看板Visual_Basic作者 (Tse)時間13年前 (2012/03/29 14:43), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
本身不是很熟VB6 可是因為公司需要硬著下去做看看 希望給予指教 我的問題是在讀寫unicode 如 中字 unicode(10進位) 16 龜 40860 9F9C 如果使用 Hex(AscW("龜") '結果為 9F9C 但是用 AscW("龜") '結果為 -24676 使用 num = Val("&H9F9C") '結果還是 -24676 num宣告integer,double都一樣 是因為大部分這些函式都是回傳int嗎 所以只能把9F9C直接一個一個拆開算嗎?? 才可以得到40860 是否有更好的方式呢 另外像是 Dim i As Integer Dim tt() As Byte Dim str As String tt = StrConv("龜", vbUnicode) str = StrConv(tt, vbFromUnicode) Debug.Print str '變成沒東西 如果把字改為 如:愛 則沒問題 For i = 0 To UBound(tt) Debug.Print i & "=" & Hex(tt(i)) Next 龜字結果: 0=3F 1=0 愛字結果: 0=1B 1=0 2=61 3=0 請問上面為何如此?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.41.57

03/29 15:22, , 1F
你的第一個問題+65536即可。
03/29 15:22, 1F

03/29 16:03, , 2F
謝謝
03/29 16:03, 2F

03/29 17:37, , 3F
第二個問題還沒空實驗…
03/29 17:37, 3F

04/02 13:56, , 4F
問題1 lngNum = Val("&H9F9C&") 指定轉成long
04/02 13:56, 4F

04/02 14:00, , 5F
問題2 原本就是Unicode了,不需要這樣轉吧
04/02 14:00, 5F

04/02 14:00, , 6F
tt = StrConv("龜", vbFromUnicode) '從Un轉成Ansi
04/02 14:00, 6F

04/02 14:01, , 7F
tt = StrConv(tt, vbUnicode) '再從Ansi轉成Un,看tt
04/02 14:01, 7F
文章代碼(AID): #1FT0ILlJ (Visual_Basic)