VB中Asc函数

VB中Asc函数,第1张

Asc函数的功能是将全角字符转换为半角字符。
ASC(text),Text
是要进行半角转换的文本。公式将全角字母转化为半角字母,若不包含全角字母则保持不变。
举例:如果A1=电脑OFFIC,则公式“=ASC(A1)”返回电脑OFFIC。
a-z的ASCII码为97-122,A-Z的ASCII码为65-90,b=
Chr(Asc(a)
+
32)中的Chr为函数,Asc(a)将a转为ASCII码,再+32即是a的ASCII码。即用Chr为函数转换a的ASCII码。
Visual
Basic
早期版本的
AscB
函数返回的是字节的代码,而不是字符。它主要用于在双字节字符集
(DBCS)
应用程序中转换字符串。从
Visual
Basic
2005
开始,字符串采用
Unicode
形式,不再支持
AscB。

用途:将字符串中的全角(双字节)英文字母更改为半角(单字节)字符。
语法:ASC(text)
参数:Text为文本或包含文本的单元格引用。如果文本中不包含任何全角英文字母,则文本不会被更改。

实例:如果A1=excel,则公式“=ASC(A1)”返回excel。

比如:

打开VB软件,新建标准EXE。

建立一个框,名称改为A。建立一个命令按钮,caption改为按钮。

点击按钮进入代码编辑器,输入代码。

Aprint "1234567890"

Aprint tab(3);"mm" ;tab(7);"mm"

"1234567890"是用来确定字符位的,能清楚的看到tab函数的结果。

代码中,tab(3)所以“mm”从第三字符开始显示,tab(7)所以第二个“mm”从第七个字符位开始显示。

ASCII码: 美国信息交换标准码是由美国国家标准学会(American National Standard Institute,ANSI)制定的,标准的单字节字符编码方案,用于基于文本的数据。
学计算机基础的时候都会教这个东西的啊,没有键盘符号及键盘不能输入(部分不能显示的符号)都对应一个码值。
VB中取ACSII码,就是通过一个函数获取指定符号的ACII码值
以下内容可以问度娘获得
ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码也叫基础ASCII码,使用7位二进制数来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符(这里需要特别注意:ASCII码与标准ASCII码的位数上的区分,标准ASCII码是7位二进制表示)。
十进制编码 (对应)缩写字符(或功能/解释)
0 NUL(null) 空字符
1 SOH(start of headline)
标题开始
2 STX (start of text)
正文开始
3 ETX(end of text) 正文结束
4 EOT (end of transmission)
传输结束
5 ENQ (enquiry) 请求
6 ACK (acknowledge)
收到通知
7 BEL (bell) 响铃
8 BS (backspace) 退格
9 HT (horizontal tab)
水平制表符
10 LF (NL line feed, new line)
换行键
11 VT (vertical tab)
垂直制表符
12 FF (NP form feed, new page)
换页键
13 CR (carriage return)
回车键
14 SO (shift out) 不用切换
15 SI (shift in) 启用切换
16 DLE (data link escape)
数据链路转义
17 DC1 (device control 1)
设备控制1
18 DC2 (device control 2)
设备控制2
19 DC3 (device control 3)
设备控制3
20 DC4 (device control 4)
设备控制4
21 NAK (negative acknowledge)
拒绝接收
22 SYN (synchronous idle) 同步空闲

23 ETB (end of trans block)
传输块结束
24 CAN (cancel) 取消
25 EM (end of medium)
介质中断
26 SUB (substitute) 替补
27 ESC (escape) 换码(溢出)
28 FS (file separator)
文件分割符
29 GS (group separator)
分组符
30 RS (record separator)
记录分离符
31 US (unit separator)
单元分隔符
32 space 空格
33 !
34 "
35 #
36 $
37 %
38 &
39 '
40 (
41 )
42
43 +
44 ,
45 -
46
47 /
48 0
49 1
50 2
51 3
52 4
53 5
54 6
55 7
56 8
57 9
58 :
59 ;
60 <
61 =
62 >
63
64 @
65 A
66 B
67 C
68 D
69 E
70 F
71 G
72 H
73 I
74 J
75 K
76 L
77 M
78 N
79 O
80 P
81 Q
82 R
83 S
84 T
85 U
86 V
87 W
88 X
89 Y
90 Z
91 [
92 \
93 ]
94 ^
95 _
96 `
97 a
98 b
99 c
100 d
101 e
102 f
103 g
104 h
105 i
106 j
107 k
108 l
109 m
110 n
111 o
112 p
113 q
114 r
115 s
116 t
117 u
118 v
119 w
120 x
121 y
122 z
123 {
124 |
125 }
126 ~
127 DEL(delete 删除)

以前英文版本的Windows,往往是非 DBCS 系统,就是一个字符用一个字节,而东方的,如日文,中文版的Windows,是DBCS系统,就是一个字符用两个字节,而两个字节的取值范围就是-32768 – 32767也可以这样理解,一个中文或日文要占用两个字节,一个字节要用8位二进制码来表示,如果只用1个字节来表示中文,则最多能表示2^8 = 256个汉字,所以表示中文必须要用两个字节,即2^8 2^8 =65536个,在DBCS系统中,因为使用两个字节表示一个字符,所以才会有两个字界的取值范围在-32768 – 32767之间

(Form1KeyPreview = True)
Private Sub Form_KeyPress(KeyAscii As Integer)
Form1Cls
Print KeyAscii
Label1Caption = UCase(Chr(KeyAscii))
End Sub

汉字是由两个asc组成的,其中可能有大于127的asc码,就会显示为负
比如127转成二进制是01111111,128就是10000000了,第一位是符号位,所以128就被算成-0了;同理129就是10000001,也就是-1;130就是-2……


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

原文地址:https://www.54852.com/yw/13129631.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存