注:括號里面都是2進制

當你發現一個字節的內容大于0x7f,那它肯定是個(跟另外一個字節拼湊 " /> 欧美激情精品,99久久婷婷国产综合精品草原,国产精品久久欧美久久一区

四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

PHP 中關于ord($str)>0x80的詳細說明

GBK簡體字符集的編碼是同時用1個字節和2個字節來表示的。當高位是0x00~0x7f時,為一個字節,高位為0x80以上時用2個字節表示"

注:括號里面都是2進制

當你發現一個字節的內容大于0x7f,那它肯定是個(跟另外一個字節拼湊成一個)漢字,如何判斷肯定大于0x7f呢?
0x7f(1111111)后面一個數就是0x80(10000000),所以想要大于0x7f,這個字節的最高位都肯定是1,我們只需要判斷這個最高位是否為1就行了。

判斷方法:

位與(相同的位都是1的才為1,否則為0):
如:要判斷一個數的第三位是否是1,只要跟4(100)位與,判斷一個數的第2位是否為1就跟2(10)位與.
同理判斷第八位是否為1只要跟(10000000)也就是0x80位與了.

這里為什么不用>0x7f,php可能還行,但在其他強類型語言里面,1個字節的最高位用來標示負數,一個負數肯定不可能大于0x7f(最大的整數)

再舉個例子:
a的assic碼是97(1100001)
A的assic碼是65(1000001)

b的assic碼是98(1100010)
b的assic碼是66(1000010)

發現一個規律:一個a-z的字母,只要是小寫字母,第六位肯定是1,我們可以用這個來判斷大小寫:
這時候只要跟用以個字母跟0x20(100000)來位與判斷:
復制代碼 代碼如下:
if(ord($a)&0x20){
//大寫
}

如何把所有字母改成大寫?第六位的1改成0就行了:
復制代碼 代碼如下:
$a='a';
$a = chr(ord($a)&(~0x20));
echo $a;

php技術PHP 中關于ord($str)>0x80的詳細說明,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 相识韩国| 国家地理频道| 叶子楣代表咋| 爱上老妈1994年电影完整版| 地球的宇宙环境教学反思| 庆余年2演员表全部员表| 羞羞的视频| deathnote| 娇妻与爱女绿帽孕野种| 食人鱼电影| 大海啊故乡钢琴谱| 色域在线| 小学三年级英语同步跟读app| 风霜踩泥| 春闺梦里人演员表| 经典常谈阅读笔记| 视频999| 顺风| 王渝萱林教授电影| 送教上门工作情况记录表| 美丽在唱歌 电影| naruto鸣人雏田r18| angela white在线播放| 最爱电影免费完整| 一千零一夜凯瑟林| 一年级歇后语下册| 黑帮大佬和我的第365天| 琅琊榜3第三部免费播放| 挠vk| 龙的心电影完整版国语| 内蒙古电视台节目表| 林黛玉进贾府人物形象分析| 古天乐电影全部作品免费观看| 贝瓦儿歌菊花开| 黑太阳731在线观看| 白上之黑电影| 抖音在线观看| 郭碧婷个人简历资料| 常宝霆| 恶行之外电影完整在线观看| 任港秀|