ASCII中关于大小写字母间隔为32的思考
生活随笔
收集整理的這篇文章主要介紹了
ASCII中关于大小写字母间隔为32的思考
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一直沒有搞清楚為什么在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的思考的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache Tika源码研究(七)
- 下一篇: 修改tomcat端口号、编码