Ascii码 、16进制与 char
生活随笔
收集整理的這篇文章主要介紹了
Ascii码 、16进制与 char
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ???對于一個非計算機專業(yè)出身的人,以前只知道計算機中所有的數(shù)據(jù)都是以二進制形式進行存儲,計算,通信的。但是人類文明中,主要的信息展現(xiàn)以文本的形式展現(xiàn)的。如果使用內存中的0和1來表示文本一直都是一個問題,因為每一個人都可以制定自己的編碼。這種現(xiàn)象直到ASCII的出現(xiàn)。ASCII統(tǒng)一了數(shù)字,字母,符號的二進制編碼。? ??? ??美國標準ASCII有128個,0-32和127是控制字符或通信字符,如控制符:LF(換行), CR(回車)、FF(換頁)、DEL(刪除)、BS(退格)、BEL(振鈴)等。通訊專用字符:SOH(頭文)、EOT(文尾)、ACK(確認)等。他們沒有特定的圖形顯示,單會依不同的程序,對文本顯示有不同的影響。33-126是字符,48-57為0-9數(shù)字
? ? 65-90為26個大寫字母,97-122號為26個小寫字母。其余的為一些符號,運算符號。
同時還要注意,標準ASCII的最高位Bit7是一個奇偶校驗位。擴展的ASCII有258個,最高位用來確定附加的128個特殊字符,外來字母和圖形符號。
舉個例子:看看ASCII ?--- ‘A’是如何用二進制表示的 0100 0001 ?十六進制為:0x41,十進制是65。作為一個程序員大家在VS中經常放在一個字符上的時候,會出現(xiàn)兩個值,一個值是ASCII的十進制,一個是ASCII對應的字符。
現(xiàn)在大家想一個問題,如果在數(shù)據(jù)傳輸?shù)倪^程中,A-->B計算機需要發(fā)送"abc"這樣的字符串,本質上時發(fā)送的abc三個字符對應的ASCII碼。如果我們通過串口發(fā)送,必須要把’abc‘轉化為二進制或者16進制。特別注意:因為一個每個ASCII會對應一個字符(有顯示符號的,無顯示符號的)。 例如我們想要發(fā)送字符串“2D”,許多程序員由于對ASCII理解不到位,因此直接把"2D"當成ASCII的16進制發(fā)送了,而實質上發(fā)送過去的是:0x3244。因此產生了數(shù)據(jù)的傳輸過去后,由于錯誤的理解,當然會解析錯誤。
現(xiàn)在明確一點,在電腦屏幕上顯示的都是以ASCII對應的字符顯示的,而數(shù)據(jù)的存儲,傳輸,計算在計算機內部都是二進制的形式表示的。
? ??? ??
來自為知筆記(Wiz)
? ? 65-90為26個大寫字母,97-122號為26個小寫字母。其余的為一些符號,運算符號。
同時還要注意,標準ASCII的最高位Bit7是一個奇偶校驗位。擴展的ASCII有258個,最高位用來確定附加的128個特殊字符,外來字母和圖形符號。
舉個例子:看看ASCII ?--- ‘A’是如何用二進制表示的 0100 0001 ?十六進制為:0x41,十進制是65。作為一個程序員大家在VS中經常放在一個字符上的時候,會出現(xiàn)兩個值,一個值是ASCII的十進制,一個是ASCII對應的字符。
現(xiàn)在大家想一個問題,如果在數(shù)據(jù)傳輸?shù)倪^程中,A-->B計算機需要發(fā)送"abc"這樣的字符串,本質上時發(fā)送的abc三個字符對應的ASCII碼。如果我們通過串口發(fā)送,必須要把’abc‘轉化為二進制或者16進制。特別注意:因為一個每個ASCII會對應一個字符(有顯示符號的,無顯示符號的)。 例如我們想要發(fā)送字符串“2D”,許多程序員由于對ASCII理解不到位,因此直接把"2D"當成ASCII的16進制發(fā)送了,而實質上發(fā)送過去的是:0x3244。因此產生了數(shù)據(jù)的傳輸過去后,由于錯誤的理解,當然會解析錯誤。
現(xiàn)在明確一點,在電腦屏幕上顯示的都是以ASCII對應的字符顯示的,而數(shù)據(jù)的存儲,傳輸,計算在計算機內部都是二進制的形式表示的。
? ??? ??
來自為知筆記(Wiz)
轉載于:https://www.cnblogs.com/chengkeke/p/5417388.html
總結
以上是生活随笔為你收集整理的Ascii码 、16进制与 char的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Visual Studio 中粗略的代码
- 下一篇: 工欲善其事必先利其器——web调试工具f