VB中像ChrW(-29401),这种参数是什么意思?括号里的数字是怎么得到的呢?

VB中像ChrW(-29401),这种参数是什么意思?括号里的数字是怎么得到的呢?,第1张

实际上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 。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/13493699.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存