请问用VB怎么把汉字转成16进制随后再转回来,如把“电脑”变成16进制,再转回来,给出完整代码!

已举报 回答
请问用VB怎么把汉字转成16进制随后再转回来,如把“电脑”变成16进制,再转回来,给出完整代码!
问在线客服
扫码问在线客服
  • 回答数

    3

  • 浏览数

    7,576

3个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
Dim a() As Byte
Private Sub Command1_Click()
Dim s As String, b As String
s = 电脑123aBC %$
Text1 =
a = StrConv(s, vbFromUnicode) ' 字符串转成数组
For i = 0 To UBound(a)
Text1 = Text1 & Format(Hex(a(i)), 00) &
Next
End Sub

Private Sub Command2_Click()
b = StrConv(a, vbUnicode) ' 数组转成字符串
MsgBox b
End Sub
取消 评论
分ASCII和Unicode,两种不同编码的文字转换出来的结果不一样..不通用..提供一个ASCII的..

Dim Str1 As String
Str1 = Hex(AscW(汉))
MsgBox Str1
Dim Str2 As String
Str2 = ChrW(CLng(Val(Str1)))
MsgBox Str2
取消 评论
首先说明下:电脑里存放的数据全是一个数值,不过你是 汉字还是 数字都是二进制
你可以通过 asc电 查询电的ascii 值 ,至于这个数值你是用 16进制显示,还是用10进制显示就是你自己的问题啦
Private Sub Form_Load()
MsgBox to16(电脑)
End Sub
Function to16(s1 As String) As String
Dim i As Long, tems As String, temasc As Long
For i = 1 To Len(s1)
tems = Mid(s1, i, 1)
temasc = Asc(tems)
to16 = to16 & & val16(temasc)
Next
End Function
Function val16(l As Long) As String
If l 1 Then l = -l
arrv = Split(0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F, .)
Do
l_m = l Mod 16
temv = arrv(l_m)
val16 = temv & val16
l = l \ 16
Loop While l 0
End Function
取消 评论
ZOL问答 > 笔记本 > 其他分类 > 请问用VB怎么把汉字转成16进制随后再转回来,如把“电脑”变成16进制,再转回来,给出完整代码!

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?