一直没有搞清楚为什么在ASCII中要把大小写字母的间隔设置为32,今天才发现这样设置的精妙之处:方便了程序对大小写字母进行转换。请看:
=================
十进制        32
十六进制     20
二进制         00100000
=================
在大写转小写时,我们常用的做法是对字符的数值加32,该过程如下所示:
=========================
字符         A                  a
十进制     65                 97
二进制     01000001     01100001
字符         Z                   z
十进制     90                 122
二进制     01011010     00111010
=========================
可以看到,这个过程可以归纳为二进制值的右起第6位由0置为1,其余位不变。那么,我们可以这样来实现这个转换过程:
lcase = ucase | 0x20
反之,小写转大写的过程可以归纳为右起第6位由1置为0,其余位不变。那么,转换过程可以这样来实现:
ucase = lcase & 0xdf
注:0xdf=0b11011111

转载于:https://www.cnblogs.com/pzy4447/p/3348360.html

ASCII中关于大小写字母间隔为32的思考相关推荐

  1. Java中如何大小写字母进行转换(ASCII编码)

    题目: 在控制台输入字符串,把字符串中所有字母大写转换为小写,小写转换为大写,其他字符保持原样,并按之前的顺序输出 做题思路: 首先我们要知道怎么判断字符串中的字符是不是字母 判断字符串中是否包含小写 ...

  2. java中打印大小写字母

    public class Homework05 {public static void main(String[] arge) {//输出a-z的大小写字母//方法一for(int i = 65; i ...

  3. C++中字符串大小写字母转换

    最近在学习 STL,string 也是 STL 中的一种容器,遇到一个字符串中字母大小写转换的例子,这里就顺便总结一下在C++中常用的字符串大小写转换方法,有需要的可以参考.代码如下: 1.char[ ...

  4. 正则表达式 - 去掉乱码字符/提取字符串中的中文字符/提取字符串中的大小写字母 - Python代码

    目录 1.乱码符号种类较少,用replace() 2.乱码字符种类较多,用re.sub() 3.提取字符串中的中文字符 4.提取字符串中的中文字符和数字 5.提取其他 数据清洗的时候一大烦恼就是数据中 ...

  5. Java通过正则剔除乱码_正则表达式 - 去掉乱码字符/提取字符串中的中文字符/提取字符串中的大小写字母 - Python代码...

    目录 1.乱码符号种类较少,用replace() 2.乱码字符种类较多,用re.sub() 3.提取字符串中的中文字符 4.提取字符串中的中文字符和数字 5.提取其他 数据清洗的时候一大烦恼就是数据中 ...

  6. 统计字符串中的大小写字母个数

    <textarea cols="20" rows="10" id="dome1"></textarea> <h ...

  7. c++语言字母转换,c++大小写字母转换的思路有几种?

    C++简介: C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计.C++擅长面向对象程序设计 ...

  8. python随机生成验证码,数字+大小写字母

    ASCII码的对照链接 大写字母的十进制范围是(65,91) 小写字母的十进制范围是(97,123) 数字的十进制范围是(48,58) 思路: 1.先在空链表中添加大小写字母和数字 2.从列表中随机选 ...

  9. android ascii 比较大小写,为什么可以通过ASCII中的字母排序规则来进行字母的大小写转换?...

    首先明确 C++ 中字符的概念,一个char类型的变量在实际存储时通常是一个8位的二进制数(即一个字节),所以支持各种数学运算.当你用'A'-'a'时,结果就是这两个字符对应的数值差. 而一个char ...

最新文章

  1. java命令--jmap命令使用
  2. Chrome禁用浏览器跨域拦截
  3. Java技术分享:什么是数据库连接池?
  4. 渭南师范计算机科学与技术,渭南师范学院计算机科学与技术专业2016年在陕西理科高考录取最低分数线...
  5. django项目如何连接前端_Django项目中前端序列化参数获取
  6. python将txt读入矩阵_python读入txt数据,并转成矩阵
  7. 51单片机汇编学习笔记1——内部结构
  8. PSO最佳适应度收敛曲线
  9. 分享大学生关于创新创业的想法,包括外卖私人订制化,网购衣服3D化远程试衣,睡眠耳机开发等等创新创业想法。
  10. cpci检索太慢_了解CPCI检索,对自己的好处
  11. 计算机教师个人品德事迹材料,教师个人品德事迹材料
  12. 利用Spring扩展点模拟MyBatis的注解编程「知识点多多」「扩展点实战系列」- 第448篇
  13. 去哪儿网支付系统架构演进
  14. 苹果加入造车潮,自动驾驶离我们还远吗?
  15. C++11 左值 右值
  16. Guitar Pro7最新版发布 吉他编谱首选
  17. jquery实现日历选择功能
  18. SEO真的可以刷关键词排名吗?
  19. PHP:JSON函数json_encode详解
  20. 易源数据_易源数据-discuz论坛统一接口【最新版】_数据API_数据应用_API-云市场-阿里云...

热门文章

  1. jQuery与Ajax的应用——《锋利的jQuery》(第2版)读书笔记3
  2. 大道至简读后感(七八章)
  3. Devc++编译系统分配给int多少字节
  4. cocos2d-x多分辨率自适配及因此导致的CCListView的bug修复
  5. win2003下如何自动备份MySQL数据库
  6. 任正非:华为100%没有后门,没想到美国打击华为决心这么大
  7. android bitmap对比,Android Bitmap和Drawable的对比
  8. java面试题_Java面试题总结(2020年多家公司整理的300道Java面试题手册)
  9. 微信昵称可以加特效啦!
  10. 我是怎样刚拿饿了么P7 offer,然后途虎一轮游的