怎么把“_25B3_25F5_25D6_25D0_25B6_25FE”这样的转化为中文

bdzwc 2004-01-11 10:35:13
谁给写个小函数,谢谢
...全文
130 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdzwc 2004-01-16
  • 打赏
  • 举报
回复
后来我自己写了,谢谢,楼上的是对的
给分
flyingscv 2004-01-14
  • 打赏
  • 举报
回复
那是ascii,unicode不是
马国泽 2004-01-14
  • 打赏
  • 举报
回复
上面的例子好像不是中文,中文的ASC码应该是小于0的,或者是大于32767
sonic2000 2004-01-14
  • 打赏
  • 举报
回复
这个unicode,怎么看怎么像在JAVA里用的
rainstormmaster 2004-01-14
  • 打赏
  • 举报
回复
//不对啊,楼上

给个参照答案呀,现在编码这么多,你总不能要我一个一个试吧
flc 2004-01-14
  • 打赏
  • 举报
回复
关注
bdzwc 2004-01-14
  • 打赏
  • 举报
回复
不对啊,楼上
northwolves 2004-01-14
  • 打赏
  • 举报
回复
嘛意思?
Sub main()
MsgBox tohanzi("_25B3_25F5_25D6_25D0_25B6_25FE")
End Sub
Function tohanzi(ByVal s As String) As String
Dim temp
temp = Split(s, "_25")
For i = 1 To UBound(temp) Step 2
tohanzi = tohanzi & Chr("&H" & temp(i) & temp(i + 1))
Next
End Function
大山里的松 2004-01-14
  • 打赏
  • 举报
回复
最好能找到一个ASCII对应的汉字数据库
rainstormmaster 2004-01-12
  • 打赏
  • 举报
回复
呵呵,不知道对不对,最好给个参照:

Private Function decode(ByVal s As String) As String
Dim arr
arr = Split(s, "_")
Dim i As Long
Dim outs As String
Dim temps As String
Dim bytearr(1) As Byte
Dim code As Long
For i = 0 To UBound(arr)
If Len(arr(i)) <> 0 Then
bytearr(0) = Val("&H" & Mid(arr(i), 1, 2))
bytearr(1) = Val("&H" & Mid(arr(i), 3, 2))
temps = StrConv(bytearr, vbUnicode)
outs = outs + temps
End If
Next
decode = outs
End Function

Private Sub Command1_Click()
Dim s As String
s = "_25B3_25F5_25D6_25D0_25B6_25FE"
s = decode(s)
Debug.Print s
End Sub

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧