![C# 字符串類(lèi)型與其它數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換-KC07010503-a04_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/8a302abf-001a-4e72-a3a8-320a7d1fdd73/8a302abf-001a-4e72-a3a8-320a7d1fdd731.gif)
![C# 字符串類(lèi)型與其它數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換-KC07010503-a04_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/8a302abf-001a-4e72-a3a8-320a7d1fdd73/8a302abf-001a-4e72-a3a8-320a7d1fdd732.gif)
![C# 字符串類(lèi)型與其它數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換-KC07010503-a04_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/8a302abf-001a-4e72-a3a8-320a7d1fdd73/8a302abf-001a-4e72-a3a8-320a7d1fdd733.gif)
![C# 字符串類(lèi)型與其它數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換-KC07010503-a04_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/8a302abf-001a-4e72-a3a8-320a7d1fdd73/8a302abf-001a-4e72-a3a8-320a7d1fdd734.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、物聯(lián)網(wǎng)應(yīng)用技術(shù)專(zhuān)業(yè)教學(xué)資源庫(kù)文檔文檔來(lái)源院校開(kāi)發(fā)文檔編號(hào)KC07010101-a22字符串類(lèi)型與其它數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換(微課腳本)無(wú)錫職業(yè)技術(shù)學(xué)院星期五, 一月 28, 2022字符串類(lèi)型與其它數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換序號(hào)臺(tái)詞1同學(xué)們,大家好。今天我們開(kāi)始學(xué)習(xí)“學(xué)習(xí)模塊一 基于WSN的環(huán)境監(jiān)控系統(tǒng)設(shè)備編程與實(shí)施”,本堂課的內(nèi)容是“字符串類(lèi)型與其它數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換”。2字符串類(lèi)型的操作是應(yīng)用開(kāi)發(fā)中非常重要的一項(xiàng)技能,計(jì)算機(jī)應(yīng)用中所有的輸出、界面上顯示的文字符號(hào)都是字符串?dāng)?shù)據(jù)類(lèi)型。例如上位機(jī)通過(guò)串行線路讀取溫濕度節(jié)點(diǎn)信息的過(guò)程中,若把溫度數(shù)據(jù)28作為字符串類(lèi)型處理,其默認(rèn)編碼對(duì)應(yīng)的十六進(jìn)制是0x32 0x3
2、8 ,溫度數(shù)據(jù)從節(jié)點(diǎn)串口發(fā)送時(shí)十六進(jìn)制就是0x32 0x38,上位機(jī)接收后需把上述十六進(jìn)制進(jìn)行原始值復(fù)原,之后轉(zhuǎn)換為字符串形式顯示在界面上,在開(kāi)發(fā)過(guò)程往往還須把傳輸過(guò)程的二進(jìn)制進(jìn)行字符串形式輸出顯示以方便調(diào)試,即把十六進(jìn)制0x32 0x38作為字符串形式輸出,所以熟練掌握字符串類(lèi)型的操作非常有必要,對(duì)于字符串的轉(zhuǎn)換操作主要包括與數(shù)字?jǐn)?shù)據(jù)類(lèi)型的轉(zhuǎn)換以及二進(jìn)制字符串的處理。3今天我們的介紹以任務(wù)形式進(jìn)行,主要包括以下兩個(gè)方面:任務(wù)說(shuō)明、程序?qū)崿F(xiàn)。4先來(lái)看一下任務(wù)說(shuō)明5示例中涉及串行通信、操作、界面設(shè)計(jì)等太多內(nèi)容,我們?nèi)コ型ㄐ挪糠郑?jiǎn)化界面就得到了今天的任務(wù):利用c#實(shí)現(xiàn)字符串類(lèi)型數(shù)據(jù)28的二進(jìn)
3、制轉(zhuǎn)換, 16進(jìn)制字符串顯示、16進(jìn)制字符串還原對(duì)應(yīng)數(shù)值并顯示;分別對(duì)應(yīng)傳感器節(jié)點(diǎn)溫度信息的發(fā)送,PC端二進(jìn)制數(shù)據(jù)接收并以十六進(jìn)制字符串顯示,PC端十六進(jìn)制字符串?dāng)?shù)值還原顯示,不考慮節(jié)點(diǎn)溫度串行傳輸及PC串口讀取所涉及的數(shù)據(jù)轉(zhuǎn)換包括byteàStringàbyte(原始值)àstring間的轉(zhuǎn)換,其中第一個(gè) byte表示PC串口讀取的數(shù)據(jù)0x32 0x38,之后的string表示0x32 0x38的字符串顯示“0x32 0x38”,第三個(gè)byte表示字符串“0x32 0x38”對(duì)應(yīng)的原始十六進(jìn)制0x32 0x38,之后采用string存儲(chǔ)十六進(jìn)制0x32 0x38
4、解碼后的字符串“28”.6對(duì)PC端應(yīng)用在接收顯示溫度信息的過(guò)程中數(shù)據(jù)轉(zhuǎn)換進(jìn)行整理得到在應(yīng)用中共包括3個(gè)轉(zhuǎn)換,分別是byteàString,stringàbyte ,byte à string,其中最后一個(gè)stringàdouble是在應(yīng)用加入的字符串與數(shù)字?jǐn)?shù)據(jù)類(lèi)型之間的轉(zhuǎn)換示例。在任務(wù)的整個(gè)過(guò)程中共涉及字符串、字節(jié)、整型、浮點(diǎn)型等四種類(lèi)型,其中字符串與字節(jié)類(lèi)型的轉(zhuǎn)換較復(fù)雜分兩類(lèi),一類(lèi)是字符串與對(duì)應(yīng)字符編碼二進(jìn)制的轉(zhuǎn)換,這類(lèi)操作可通過(guò)Encoding類(lèi)選擇相應(yīng)編碼格式進(jìn)行編碼、解碼操作,一類(lèi)是二進(jìn)制字符串的轉(zhuǎn)換,這類(lèi)借助Convert類(lèi)實(shí)現(xiàn)數(shù)據(jù)類(lèi)型轉(zhuǎn)換;字
5、符串與整型、浮點(diǎn)型的轉(zhuǎn)換較為簡(jiǎn)單,可通過(guò)Convert類(lèi)實(shí)現(xiàn),也可用目標(biāo)數(shù)據(jù)類(lèi)型的parse的方法進(jìn)行強(qiáng)轉(zhuǎn)。7在字符串?dāng)?shù)據(jù)轉(zhuǎn)換中主要涉及Convert類(lèi)和Encoding類(lèi),其中Convert類(lèi)實(shí)現(xiàn)基礎(chǔ)數(shù)據(jù)類(lèi)型之間相互轉(zhuǎn)換,string、byte、int、double、float等都屬于基礎(chǔ)數(shù)據(jù)類(lèi)型,轉(zhuǎn)換使用ToXXX()方法,其中XXX表示目標(biāo)數(shù)據(jù)類(lèi)型,格式化輸出使用PadLeft()和PadRight()方法,單個(gè)十六進(jìn)制字符串轉(zhuǎn)換成對(duì)應(yīng)十六進(jìn)制使用toByte()方法,單個(gè)十六進(jìn)制換成對(duì)應(yīng)十六進(jìn)制字符串使用toString()方法;Encoding類(lèi)實(shí)現(xiàn)字符編碼,使用時(shí)須通過(guò)屬性指定編碼
6、格式,然后使用GetBytes()方法進(jìn)行編碼,使用GetString()方法進(jìn)行解碼;在開(kāi)發(fā)中常常涉及字節(jié)數(shù)組與十六進(jìn)制字符串間的轉(zhuǎn)換,那如何實(shí)現(xiàn)呢,在下面的程序中,我們將借助StringBuilder、List<byte>實(shí)現(xiàn)實(shí)現(xiàn)彼此間的互轉(zhuǎn)。8接下來(lái)使用Visual Studio 來(lái)進(jìn)行任務(wù)的程序開(kāi)發(fā)9(視頻)新建項(xiàng)目后設(shè)計(jì)一個(gè)界面包括兩個(gè)Lable、兩個(gè)TextBox和一個(gè)Button控件,點(diǎn)擊“轉(zhuǎn)換”按鈕后觀察預(yù)設(shè)字節(jié)數(shù)組與字符串、十六進(jìn)制字符串、數(shù)字類(lèi)型之間的轉(zhuǎn)換?!稗D(zhuǎn)換”按鈕事件代碼中預(yù)設(shè)了字節(jié)數(shù)組變量hex ,值為0x32,0x38 ,模擬PC端已獲取串行數(shù)據(jù),自定
7、義函數(shù)bytesToHexstring實(shí)現(xiàn)十六進(jìn)制轉(zhuǎn)換為對(duì)應(yīng)的十六進(jìn)制字符串形式,即0x32,0x38 ->"0x32,0x38",之后把字符串"0x32,0x38"顯示在界面上,bytesToHexstring函數(shù)使用Convert類(lèi)的ToString(byte,16) 方法實(shí)現(xiàn)單個(gè)十六進(jìn)制與對(duì)應(yīng)十六進(jìn)制字符串的轉(zhuǎn)換,PadLeft(2, '0')和PadRight(3, ' ')方法實(shí)現(xiàn)格式輸出,使用循環(huán)方式對(duì)每個(gè)待轉(zhuǎn)化十六進(jìn)制進(jìn)行轉(zhuǎn)換并放入到StringBuilder變量sb中,最后把sb變量轉(zhuǎn)換為string
8、類(lèi)型返回,返回?cái)?shù)據(jù)格式為0x32 0x38,數(shù)據(jù)之間以空格間隔;之后實(shí)現(xiàn)十六進(jìn)制與對(duì)應(yīng)十六進(jìn)制字符串的逆轉(zhuǎn)換,即"0x32,0x38"->0x32,0x38 的轉(zhuǎn)換,這里須自定義函數(shù)hexstringTobytes實(shí)現(xiàn),函數(shù)基本思路是使用split( )對(duì)十六進(jìn)制字符串按空格分隔為字符串?dāng)?shù)組,之后循環(huán)取出每個(gè)字符使用Convert類(lèi)的ToByte(string, 16)方法實(shí)現(xiàn)單個(gè)十六進(jìn)制字符串與對(duì)應(yīng)十六進(jìn)制的轉(zhuǎn)換并放入到List<byte>變量bytecontent中,最后把bytecontent變量轉(zhuǎn)換為數(shù)組類(lèi)型返回,返回?cái)?shù)據(jù)格式為0x32,0x38
9、;對(duì)于返回的十六進(jìn)制須使用Encoding.ASCII.GetString方法對(duì)其解碼得到其對(duì)應(yīng)的字符串“28”,最后使用Convert.ToDouble(“28”)方法來(lái)觀察字符串與double類(lèi)型之間的轉(zhuǎn)換,下面設(shè)置斷點(diǎn)并運(yùn)行程序,點(diǎn)擊“轉(zhuǎn)換”按鈕后,可以看到運(yùn)行到斷點(diǎn)處字節(jié)數(shù)組hexStr的值為0x32 0x38,double變量的double_value值為0.0,再按F5按鈕繼續(xù)運(yùn)行程序,double_value的值變?yōu)榱?8.0,此時(shí)界面上正確顯示了十六進(jìn)制0x32,0x38 的字符串形式“0x32,0x38",同時(shí)也正確解碼了十六進(jìn)制字符串“0x32,0x38"對(duì)應(yīng)的十六進(jìn)制,得到了字符串”28“,最后也成功轉(zhuǎn)換成28對(duì)應(yīng)的double值2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑工程保溫材料環(huán)保性能檢測(cè)與認(rèn)證合同
- 淮南安徽淮南市中醫(yī)院招聘專(zhuān)業(yè)技術(shù)人員40人筆試歷年參考題庫(kù)附帶答案詳解
- 曲靖云南曲靖市馬龍區(qū)應(yīng)急管理局招聘10名綜合應(yīng)急救援隊(duì)員筆試歷年參考題庫(kù)附帶答案詳解
- 惠州廣東惠州市惠東縣吉隆鎮(zhèn)人民政府招聘治安聯(lián)防隊(duì)員13人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年輕便傻瓜機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年色織絲油提花面料項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)纏繞膜復(fù)卷機(jī)行業(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 2025年電動(dòng)式潤(rùn)滑泵項(xiàng)目可行性研究報(bào)告
- 2025年洗甲護(hù)甲水項(xiàng)目可行性研究報(bào)告
- 2025年有線電視鄰頻調(diào)制器項(xiàng)目可行性研究報(bào)告
- 小學(xué)數(shù)學(xué)六年級(jí)解方程練習(xí)300題及答案
- 大數(shù)據(jù)在化工行業(yè)中的應(yīng)用與創(chuàng)新
- 光伏十林業(yè)可行性報(bào)告
- 小學(xué)綜合實(shí)踐《我做環(huán)保宣傳員 保護(hù)環(huán)境人人有責(zé)》
- 鋼煤斗內(nèi)襯不銹鋼板施工工法
- 公司人事招聘面試技巧培訓(xùn)完整版課件兩篇
- 出國(guó)勞務(wù)派遣合同(專(zhuān)業(yè)版)電子版正規(guī)范本(通用版)
- 公路工程安全風(fēng)險(xiǎn)辨識(shí)與防控手冊(cè)
- 供應(yīng)商評(píng)估報(bào)告范本
- 職業(yè)生涯規(guī)劃-自我認(rèn)知-價(jià)值觀
- 建筑集團(tuán)公司商務(wù)管理手冊(cè)(投標(biāo)、合同、采購(gòu))分冊(cè)
評(píng)論
0/150
提交評(píng)論