V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wangrenjie1996
V2EX  ›  问与答

小白求教 VB 知识

  •  
  •   wangrenjie1996 · 2015-05-31 11:14:34 +08:00 via iPhone · 3044 次点击
    这是一个创建于 3493 天前的主题,其中的信息可能已经有所发展或是发生改变。
    VB编程中如何将字符串AbcD转换为aBCd?
    12 条回复    2015-05-31 18:07:51 +08:00
    zqhong
        1
    zqhong  
       2015-05-31 11:49:29 +08:00   ❤️ 1
    在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
        2
    Marfal  
       2015-05-31 11:49:33 +08:00
    请左转百度VB吧
    zqhong
        3
    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
        4
    wangrenjie1996  
    OP
       2015-05-31 12:01:56 +08:00
    @zqhong 谢谢你!再帮忙看看这个问题吧。http://zhidao.baidu.com/question/1639536738837616460.html
    littlewey
        5
    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
        6
    zqhong  
       2015-05-31 12:42:49 +08:00
    @wangrenjie1996 下面的人说了。话说,这个怎么感觉类似于作业题,或者是 某些书后面的小题目什么的?
    wangrenjie1996
        7
    wangrenjie1996  
    OP
       2015-05-31 13:45:53 +08:00 via iPhone
    @zqhong 谢谢,我已经搞定了。确实是作业…
    chanssl
        8
    chanssl  
       2015-05-31 13:47:27 +08:00 via Android
    来这里求作业……😂
    kiritoalex
        9
    kiritoalex  
       2015-05-31 14:25:24 +08:00 via Android
    楼主你也真是机智……跑到这儿求作业答案
    VirgilMing
        10
    VirgilMing  
       2015-05-31 14:57:30 +08:00 via iPhone
    一九九六…大一?
    学会翻墙吧…
    OrangeM21
        11
    OrangeM21  
       2015-05-31 17:08:14 +08:00 via iPhone
    明显大一孩儿考VB。左转学校贴吧找学长教教你就完了。
    fhliwei
        12
    fhliwei  
       2015-05-31 18:07:51 +08:00 via Android
    大学还学VB?不是高中才学么?大学C语言这个都不懂期末肯定挂。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1000 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 18:28 · PVG 02:28 · LAX 10:28 · JFK 13:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.