小白求教 VB 知识

2015-05-31 11:14:34 +08:00
 wangrenjie1996
VB编程中如何将字符串AbcD转换为aBCd?
2872 次点击
所在节点    问与答
12 条回复
zqhong
2015-05-31 11:49:29 +08:00
在Ascii码中,A是十进制的65,a是十进制的97,二者相差32。B(66)和b(98)也是一样的,相差32。

最简单的办法,'A' = 'a' - 32 或 'a' = 'A' + 32。

也可以使用位运算符,你看,字符'A'是十进制65,换成一个字节的二进制就是 0100 0001,而'a'是十进制的97,换成一个字节的二进制就是 0110 0001。认真比较一下 0100 0001 和 0110 0001,也就一个位不同。那么就可以使用或运算符, b0110 0001 = b0100 0001 | b0010 0000

最后也可以使用VB的内置函数,查了一下
Ucase("字符串")______将字符串中所有小写字母转换成大写,最终字符串全部是大写字母。

Lcase("字符串")______将字符串中所有大写字母转换成小写,最终字符串全部是小写字母。
Marfal
2015-05-31 11:49:33 +08:00
请左转百度VB吧
zqhong
2015-05-31 11:56:06 +08:00
补充,其他编码也是类似的,找到规律后就可以了。

注:
UTF-8中,字符A是十六进制的0x0041,而字符a是十六进制的0x0061,同样相差32


Ascii Table:
http://www.asciitable.com/

UTF-9 Table:
http://www.utf8-chartable.de/
wangrenjie1996
2015-05-31 12:01:56 +08:00
@zqhong 谢谢你!再帮忙看看这个问题吧。http://zhidao.baidu.com/question/1639536738837616460.html
littlewey
2015-05-31 12:15:07 +08:00
@wangrenjie1996 关于 http://zhidao.baidu.com/question/1639536738837616460.html

有了 zqhong 同学的 “在Ascii码中,A是十进制的65,a是十进制的97,二者相差32 这部分信息,只需要判断每一个character的大小范围就知道是大小写了。
zqhong
2015-05-31 12:42:49 +08:00
@wangrenjie1996 下面的人说了。话说,这个怎么感觉类似于作业题,或者是 某些书后面的小题目什么的?
wangrenjie1996
2015-05-31 13:45:53 +08:00
@zqhong 谢谢,我已经搞定了。确实是作业…
chanssl
2015-05-31 13:47:27 +08:00
来这里求作业……😂
kiritoalex
2015-05-31 14:25:24 +08:00
楼主你也真是机智……跑到这儿求作业答案
VirgilMing
2015-05-31 14:57:30 +08:00
一九九六…大一?
学会翻墙吧…
OrangeM21
2015-05-31 17:08:14 +08:00
明显大一孩儿考VB。左转学校贴吧找学长教教你就完了。
fhliwei
2015-05-31 18:07:51 +08:00
大学还学VB?不是高中才学么?大学C语言这个都不懂期末肯定挂。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/195046

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX