chr(-12127)="小" '&H23567内部是如何实现的?
解决方案 »
- vb6.0引用Lingo9.0问题?
- 怎样用VB实现删除Excel表中的数据
- 请问VB中如何删除DataGrid选中的一行?
- 如何使坐标轴的刻度带有上下标?
- 一个关于datagrid的十分奇怪的问题,各位高手们帮帮忙????不是我舍不得给分,而是我实在是没分,还请各位高手们多多包涵,帮帮忙,先
- 有没有哪位大高手,用datagrid作过程序。简单的。只要能添加删除修改就成。
- 用vb画类似于程序流程图的图形,大家有什么思路呀?有谁有addflow控件阿
- OLE,显示WORD内容如果显示下面几页的呢....
- 现在在MDI子窗口中,怎样传递参数给主窗口?并刷新主窗口?
- 在VB中那个API可以更改桌面图片?
- 救助,怎样显示内存:35BB680中的值?
- msflexgrid里scroll滚动时,疯狂下滚。
0 到 31 之间的数字与标准的非打印 ASCII 代码相同。例如,Chr(10) 可以返回换行字符。charcode 的正常范围为 0 – 255。 "小" 这个符号字符 是由 208 161 两个 ASCII 码值代表 然而,在 DBCS 系统,charcode 的实际范围为 -32768 到 65535。DBCS
使用 1 或 2 字节来表示一字符的字符集,超过个 256 字符也可表示。
s1 = "小"
s2 = StrConv(s1, vbFromUnicode)
s3 = MidB(s2, 1, 1) + MidB(s2, 2, 1)
s4 = StrConv(s3, vbUnicode)Print s4
'答案:小End Sub
Private Sub Command1_Click()
Dim b(1) As Byte
b(0) = 208 'HD0
b(1) = 161 ' HA1
MsgBox StrConv(b, vbUnicode)
End Sub2 国家标准信息交换用汉字字符集GB 2312-80共收录了汉字、图形符号等共7445个,其中汉字6763个,按照汉字使用的频度分为两级,其中一级汉字3755个,二级汉字3008个。汉字、图形符号根据其位置将其分为94个“区”,每个区包含94个汉字字符,每个汉字字符又称为“位”。其中“区”的序号由01区至94区,“位”的序号也由01位至94位。若以横向表示“位”号,纵向表示“区” 号,则“区”和“位”构成一个二维坐标。给定一个“区”值和“位”值就可以确定一个惟一的汉字或图形符号。即4位阿拉伯数字就可以惟一地确定一个汉字或符号。如“北”字的区位码是“1717”,而京字的区位码是“3009”。前两位是“区”号,后两位是“位”号。其中1至15区是各种图形符号、制表符和一些主要国家的语言字母,16区至87区是汉字,其中16区至55区是一级汉字,56至87区是二级汉字。系统中"小" 的区位码4801,asc(-12127),即asc(&HD0A1)从48 区 1 位 读取之.Function quwei(ByVal x As String) As String '获得某汉字或字符对应的的区位码
If Asc(x) >= 0 Then Exit Function
x = Hex(Asc(x))
quwei = Format(CDec("&H" & Left(x, 2)) - 160, "00") & Format(CDec("&H" & Right(x, 2)) - 160, "00")
End Function
Function hanzi(ByVal x As String) As String '获得某区位码对应汉字或字符
hanzi = Chr("&H" & Hex(Val(Left(x, 2)) + 160) & Hex(Val(Right(x, 2)) + 160))
End Function
Text2.Text = MyChr(KeyAscii)
End SubPrivate Function MyChr(ByVal CharCode As Long) As String
Dim a(0 To 1) As Byte, b As Byte
CopyMemory a(0), KeyAscii, 2
If KeyAscii < 0 Then
b = a(0)
a(0) = a(1)
a(1) = b
End If
MyChr = StrConv(a, vbUnicode)
End Function
Text2.Text = MyChr(KeyAscii)
End SubPrivate Function MyChr(ByVal CharCode As Long) As String
Dim a(0 To 1) As Byte, b As Byte
CopyMemory a(0), CharCode, 2
If CharCode < 0 Then
b = a(0)
a(0) = a(1)
a(1) = b
End If
MyChr = StrConv(a, vbUnicode)
End Function不好意思,更正一下