C# 字符串類型與其它數(shù)據(jù)類型間的轉(zhuǎn)換-KC07010503-a04_第1頁
C# 字符串類型與其它數(shù)據(jù)類型間的轉(zhuǎn)換-KC07010503-a04_第2頁
C# 字符串類型與其它數(shù)據(jù)類型間的轉(zhuǎn)換-KC07010503-a04_第3頁
C# 字符串類型與其它數(shù)據(jù)類型間的轉(zhuǎn)換-KC07010503-a04_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、物聯(lián)網(wǎng)應(yīng)用技術(shù)專業(yè)教學(xué)資源庫文檔文檔來源院校開發(fā)文檔編號KC07010101-a22字符串類型與其它數(shù)據(jù)類型間的轉(zhuǎn)換(微課腳本)無錫職業(yè)技術(shù)學(xué)院星期五, 一月 28, 2022字符串類型與其它數(shù)據(jù)類型間的轉(zhuǎn)換序號臺詞1同學(xué)們,大家好。今天我們開始學(xué)習(xí)“學(xué)習(xí)模塊一 基于WSN的環(huán)境監(jiān)控系統(tǒng)設(shè)備編程與實施”,本堂課的內(nèi)容是“字符串類型與其它數(shù)據(jù)類型間的轉(zhuǎn)換”。2字符串類型的操作是應(yīng)用開發(fā)中非常重要的一項技能,計算機(jī)應(yīng)用中所有的輸出、界面上顯示的文字符號都是字符串?dāng)?shù)據(jù)類型。例如上位機(jī)通過串行線路讀取溫濕度節(jié)點信息的過程中,若把溫度數(shù)據(jù)28作為字符串類型處理,其默認(rèn)編碼對應(yīng)的十六進(jìn)制是0x32 0x3

2、8 ,溫度數(shù)據(jù)從節(jié)點串口發(fā)送時十六進(jìn)制就是0x32 0x38,上位機(jī)接收后需把上述十六進(jìn)制進(jìn)行原始值復(fù)原,之后轉(zhuǎn)換為字符串形式顯示在界面上,在開發(fā)過程往往還須把傳輸過程的二進(jìn)制進(jìn)行字符串形式輸出顯示以方便調(diào)試,即把十六進(jìn)制0x32 0x38作為字符串形式輸出,所以熟練掌握字符串類型的操作非常有必要,對于字符串的轉(zhuǎn)換操作主要包括與數(shù)字?jǐn)?shù)據(jù)類型的轉(zhuǎn)換以及二進(jìn)制字符串的處理。3今天我們的介紹以任務(wù)形式進(jìn)行,主要包括以下兩個方面:任務(wù)說明、程序?qū)崿F(xiàn)。4先來看一下任務(wù)說明5示例中涉及串行通信、操作、界面設(shè)計等太多內(nèi)容,我們?nèi)コ型ㄐ挪糠?,簡化界面就得到了今天的任?wù):利用c#實現(xiàn)字符串類型數(shù)據(jù)28的二進(jìn)

3、制轉(zhuǎn)換, 16進(jìn)制字符串顯示、16進(jìn)制字符串還原對應(yīng)數(shù)值并顯示;分別對應(yīng)傳感器節(jié)點溫度信息的發(fā)送,PC端二進(jìn)制數(shù)據(jù)接收并以十六進(jìn)制字符串顯示,PC端十六進(jìn)制字符串?dāng)?shù)值還原顯示,不考慮節(jié)點溫度串行傳輸及PC串口讀取所涉及的數(shù)據(jù)轉(zhuǎn)換包括byteàStringàbyte(原始值)àstring間的轉(zhuǎn)換,其中第一個 byte表示PC串口讀取的數(shù)據(jù)0x32 0x38,之后的string表示0x32 0x38的字符串顯示“0x32 0x38”,第三個byte表示字符串“0x32 0x38”對應(yīng)的原始十六進(jìn)制0x32 0x38,之后采用string存儲十六進(jìn)制0x32 0x38

4、解碼后的字符串“28”.6對PC端應(yīng)用在接收顯示溫度信息的過程中數(shù)據(jù)轉(zhuǎn)換進(jìn)行整理得到在應(yīng)用中共包括3個轉(zhuǎn)換,分別是byteàString,stringàbyte ,byte à string,其中最后一個stringàdouble是在應(yīng)用加入的字符串與數(shù)字?jǐn)?shù)據(jù)類型之間的轉(zhuǎn)換示例。在任務(wù)的整個過程中共涉及字符串、字節(jié)、整型、浮點型等四種類型,其中字符串與字節(jié)類型的轉(zhuǎn)換較復(fù)雜分兩類,一類是字符串與對應(yīng)字符編碼二進(jìn)制的轉(zhuǎn)換,這類操作可通過Encoding類選擇相應(yīng)編碼格式進(jìn)行編碼、解碼操作,一類是二進(jìn)制字符串的轉(zhuǎn)換,這類借助Convert類實現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換;字

5、符串與整型、浮點型的轉(zhuǎn)換較為簡單,可通過Convert類實現(xiàn),也可用目標(biāo)數(shù)據(jù)類型的parse的方法進(jìn)行強(qiáng)轉(zhuǎn)。7在字符串?dāng)?shù)據(jù)轉(zhuǎn)換中主要涉及Convert類和Encoding類,其中Convert類實現(xiàn)基礎(chǔ)數(shù)據(jù)類型之間相互轉(zhuǎn)換,string、byte、int、double、float等都屬于基礎(chǔ)數(shù)據(jù)類型,轉(zhuǎn)換使用ToXXX()方法,其中XXX表示目標(biāo)數(shù)據(jù)類型,格式化輸出使用PadLeft()和PadRight()方法,單個十六進(jìn)制字符串轉(zhuǎn)換成對應(yīng)十六進(jìn)制使用toByte()方法,單個十六進(jìn)制換成對應(yīng)十六進(jìn)制字符串使用toString()方法;Encoding類實現(xiàn)字符編碼,使用時須通過屬性指定編碼

6、格式,然后使用GetBytes()方法進(jìn)行編碼,使用GetString()方法進(jìn)行解碼;在開發(fā)中常常涉及字節(jié)數(shù)組與十六進(jìn)制字符串間的轉(zhuǎn)換,那如何實現(xiàn)呢,在下面的程序中,我們將借助StringBuilder、List<byte>實現(xiàn)實現(xiàn)彼此間的互轉(zhuǎn)。8接下來使用Visual Studio 來進(jìn)行任務(wù)的程序開發(fā)9(視頻)新建項目后設(shè)計一個界面包括兩個Lable、兩個TextBox和一個Button控件,點擊“轉(zhuǎn)換”按鈕后觀察預(yù)設(shè)字節(jié)數(shù)組與字符串、十六進(jìn)制字符串、數(shù)字類型之間的轉(zhuǎn)換。“轉(zhuǎn)換”按鈕事件代碼中預(yù)設(shè)了字節(jié)數(shù)組變量hex ,值為0x32,0x38 ,模擬PC端已獲取串行數(shù)據(jù),自定

7、義函數(shù)bytesToHexstring實現(xiàn)十六進(jìn)制轉(zhuǎn)換為對應(yīng)的十六進(jìn)制字符串形式,即0x32,0x38 ->"0x32,0x38",之后把字符串"0x32,0x38"顯示在界面上,bytesToHexstring函數(shù)使用Convert類的ToString(byte,16) 方法實現(xiàn)單個十六進(jìn)制與對應(yīng)十六進(jìn)制字符串的轉(zhuǎn)換,PadLeft(2, '0')和PadRight(3, ' ')方法實現(xiàn)格式輸出,使用循環(huán)方式對每個待轉(zhuǎn)化十六進(jìn)制進(jìn)行轉(zhuǎn)換并放入到StringBuilder變量sb中,最后把sb變量轉(zhuǎn)換為string

8、類型返回,返回數(shù)據(jù)格式為0x32 0x38,數(shù)據(jù)之間以空格間隔;之后實現(xiàn)十六進(jìn)制與對應(yīng)十六進(jìn)制字符串的逆轉(zhuǎn)換,即"0x32,0x38"->0x32,0x38 的轉(zhuǎn)換,這里須自定義函數(shù)hexstringTobytes實現(xiàn),函數(shù)基本思路是使用split( )對十六進(jìn)制字符串按空格分隔為字符串?dāng)?shù)組,之后循環(huán)取出每個字符使用Convert類的ToByte(string, 16)方法實現(xiàn)單個十六進(jìn)制字符串與對應(yīng)十六進(jìn)制的轉(zhuǎn)換并放入到List<byte>變量bytecontent中,最后把bytecontent變量轉(zhuǎn)換為數(shù)組類型返回,返回數(shù)據(jù)格式為0x32,0x38

9、;對于返回的十六進(jìn)制須使用Encoding.ASCII.GetString方法對其解碼得到其對應(yīng)的字符串“28”,最后使用Convert.ToDouble(“28”)方法來觀察字符串與double類型之間的轉(zhuǎn)換,下面設(shè)置斷點并運行程序,點擊“轉(zhuǎn)換”按鈕后,可以看到運行到斷點處字節(jié)數(shù)組hexStr的值為0x32 0x38,double變量的double_value值為0.0,再按F5按鈕繼續(xù)運行程序,double_value的值變?yōu)榱?8.0,此時界面上正確顯示了十六進(jìn)制0x32,0x38 的字符串形式“0x32,0x38",同時也正確解碼了十六進(jìn)制字符串“0x32,0x38"對應(yīng)的十六進(jìn)制,得到了字符串”28“,最后也成功轉(zhuǎn)換成28對應(yīng)的double值2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論