
实际上ChrW(-29401)是“货”字,这个代码是Unicode码。
得到数字的一个办法是查Unicode编码表,输入代码kz=67059623。
用 AscW函数反查:Msgbox AscW("货")
vb软件的作用:
VB是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。
它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。
程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
vb6的代码编辑器是不支持 Unicode 编码的,建议最好不要用VB6来弄 Unicode 的东西,很不方便。当然,也不是不能弄,你可以换个思路,不要在代码编辑器里放置 Unicode编码的东西就可以了,如你上面的程序,可以这样写: Select Case endAsc Case 95 endchar = chrw(&H0001) Case 96 endchar = chrw(&H0002) End Select 当然你也可以把字符放到资源里,然后加载分析,然后放到变量里进行对比,不过要显示出来就需要特殊的控件或API函数了
希望采纳
Function ChW(t)
If InStr(t, "\") Then
s = Split(t, "\")
For i = 0 To UBound(s)
If Left(UCase(s(i)), 1) = "U" Then
ChW = ChW & ChrW("&H" & Mid(s(i), 2))
Else
ChW = ChW & s(i)
End If
Next
Else
For i = 1 To Len(t)
s = AscW(Mid(t, i, 1))
If s > 0 And s < 255 Then
ChW = ChW & Mid(t, i, 1)
Else
ChW = ChW & "{""" & t & """,""" & Hex(s) & """}," '{"阿","963F"},
End If
Next
End If
End Function
CHR函数,传入一个数值,返回这个数值对应的ascii码字符,比如chr(65)输出的是大写的A
注意:ChrB 函数作用于包含在 String 中的字节数据。ChrB 总是返回一个单字节,而不是返回一个字符,一个字符可能是一个或两个字节。ChrW 函数返回包含 Unicode 的 String,若在不支持 Unicode 的平台上,则其功能与 Chr 函数相同。
单个字符,输出应该是一样的,仔细检查一下一下,i是否为字符串。
扩展资料:
关于上述ascii码字符
真正的Ascii码只占一个字节,共128个字符,其余汉字等的Ascii码,是扩展的本地编码,如Gb-2312,占两字节,首字节首位为1,
因此Asc(汉字)的结果应为负数(负整型的首位也为1),所以不会有大于128的编码(你的1561大了);同理chr(编码),这里的编码也应为负数才能得到一个汉字。
asc得到的是ansi码,ascw得到的是utf-16码,这些都是"原来的编码",尽管看起来负数怪怪的,可以用hex(asc(字符))来得到十六进制码,不是负的了,真正的“原来的十六进制编码”。
我感觉你的ChrW没有问题,问题出在n上,n没有初值,错误不可预见可以这样
Dim l As Long, m As String, n As String, k As String
n = ""
Dim TempArr() As String
应该就没问题了
补充:
换成
n = cstr(n) + cstr(ChrW("&h" + m))
或n = format(n)+ format(ChrW("&h" + m))
试试
0 到 31 之间的数字与标准的非打印 ASCII 代码相同。例如,Chr(10) 可以返回换行字符。charcode 的正常范围为 0 – 255。然而,在 DBCS 系统,charcode 的实际范围为 -32768 到 65535。
注意 ChrB 函数作用于包含在 String 中的字节数据。ChrB 总是返回一个单字节,而不是返回一个字符,一个字符可能是一个或两个字节。ChrW 函数返回包含 Unicode 的 String,若在不支持 Unicode 的平台上,则其功能与 Chr 函数相同。
注意 Visual Basic for the Macintosh 不支持Unicode 字符串。因此,当n 值在128 – 65,535 范围内时, ChrW(n) 不能像在Windows环境中那样返回所有的 Unicode 字符。相反地,当Unicode 的n 值大于127 时,ChrW(n) 会试图做一个“最好的猜测”。因此,在Macintosh 环境中,不能使用ChrW 。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)