譬如有: str1 = "A你"
bytetmp = StrConv(str1, vbFromUnicode)
则得到的结果为
bytetmp(0) = 65 bytetmp(1) = 196 bytetmp(2) = 227
而 "你"的Unicode值: Ascw("你")= 20320
那么bytetmp(1)、bytetmp(2) 与 20320 是怎样的一做关系呢?因为我可能要把bytetmp发送到java程序中,在java程序中根据unicode值来反向生成字符串。
bytetmp = StrConv(str1, vbFromUnicode)
则得到的结果为
bytetmp(0) = 65 bytetmp(1) = 196 bytetmp(2) = 227
而 "你"的Unicode值: Ascw("你")= 20320
那么bytetmp(1)、bytetmp(2) 与 20320 是怎样的一做关系呢?因为我可能要把bytetmp发送到java程序中,在java程序中根据unicode值来反向生成字符串。
解决方案 »
- dtpicker时间控件 选取新日期后的值怎么获得?
- thirdapple(陨落雕)来接分~8个问题=200~~呵呵~~
- vb里面调用word的问题,帮帮忙
- 本人新学VB,现在想学好API,请问各位大侠有什么好的书推荐吗?!
- 如何在MDI窗口内放置一个控件,当打开ChildForm的时候也能够看到这个控件。一定高分!
- 请教:怎么判断另一个程序的某个按狃是不是处于焦点状态
- 打开Mdiform子窗体时, 怎样使子窗体的位置固定?例如父窗口的左上角
- 与网蚁一样的右键添加怎么做?
- 难题:如何在Picturebox中获取剪贴板中的图象?
- 一个在关于Command按扭的问题.
- 高手进来看一看
- vb中怎么设置隐藏属性 ?
关注...
Private Sub Command1_Click()
Dim LngStr As Long
Dim i As Long
Dim Lnga() As Long
LngStr = Len(a)
For i = 1 To LngStr
ReDim Preserve Lnga(i)
Lnga(i) = AscW(Mid(a, i, 1))
MsgBox Lnga(i)
Next
End SubPrivate Sub Form_Load()
a = "A你"
End Sub
我想上面的代码应该能满足你的要求!
就是将“A”和“你”的Unicode码分别存储到数组中!
'将字符串转换成Unicode码保存到Lnga()数组中
Private Sub Command1_Click()
Dim LngStr As Long
Dim i As Long
LngStr = Len(a)
For i = 1 To LngStr
ReDim Preserve Lnga(i)
Lnga(i) = AscW(Mid(a, i, 1))
MsgBox Lnga(i)
Next
End Sub
'将保存到Lnga()数组中的Unicode转化成原先的字符串
Private Sub Command2_Click()
Dim Stra As String
Dim i As Long
For i = 1 To UBound(Lnga)
Stra = Stra & ChrW(Lnga(i))
Next
MsgBox Stra
End SubPrivate Sub Form_Load()
a = "A你"
End Sub字符串转换成Unicode后然后再转换回字符串!
如果你按照单个字符转换的时候就不会出现你说的问题了!
即 bytetmp(1) = 196 bytetmp(2) = 227 与 20320 到底是怎么联系起来的
我想不通微软是怎么计算这两者的,其它的什么Unicode呢,还倒知道一二。