国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C# 數(shù)據(jù)互轉(zhuǎn) 16進制&16進制字符串&字符串

這篇具有很好參考價值的文章主要介紹了C# 數(shù)據(jù)互轉(zhuǎn) 16進制&16進制字符串&字符串。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、字符串過濾 or 提取字符串

提取字符串:在C# .net開發(fā)中 “ToString()”方法是最常見的,用于將文本轉(zhuǎn)為字符串;

字符串過濾:在處理字符串數(shù)據(jù)或者hex數(shù)據(jù)時,一般都需要去掉 空格 數(shù)組標識0x 標點符號 等等字符,方便后續(xù)進一步處理;

//將文本轉(zhuǎn)為字符串
{
    ...
    string str = textBox1.Text.ToString();
    ...
}


//過濾字符串
{
    string pattern = "[A-Za-z0-9]";
    string strRet = "";

    //正則匹配,只保留字母和數(shù)字
    MatchCollection results = Regex.Matches(ReadString(), pattern);
    foreach (var v in results)
    {
        strRet += v.ToString();
    }

    return strRet.Replace("0x", "");
}

2、字符串與16進制數(shù)組互轉(zhuǎn)

從字符串轉(zhuǎn)16進制數(shù)組,字符串的每一個字符就是一個byte;

可以用Encoding類的方法完成格式轉(zhuǎn)換,Encoding位于System.Text命名空間下;

//str為輸入字符串
byte[] bytes = Encoding.Default.GetBytes(str);

同樣的,字節(jié)數(shù)組轉(zhuǎn)字符串;

//bytes為輸入字節(jié)數(shù)組
string str = Encoding.Default.GetString(bytes);

3、16進制數(shù)組與16進制字符串互轉(zhuǎn)

16進制數(shù)組無法直接打印和顯示(否則會出現(xiàn)亂碼),這就需要轉(zhuǎn)成對應(yīng)的字符串;


//利用for循環(huán)將16進制數(shù)組轉(zhuǎn)成對應(yīng)的16進制字符串
//如 0x7E,0x5D,0x5A => "7E5D5A"

string strTemp = "";

for (int i = 0; i < bytes.Length; i++)
{
	strTemp += bytes[i].ToString("X2");
	strTemp += " ";
}


一般對于嵌入式硬件底層,收到的數(shù)據(jù)都是字節(jié)流,不需要轉(zhuǎn)換,可以直接處理;

但是對于PC、Android等非底層驅(qū)動,拿到的數(shù)據(jù)都是字符串形式,這就需要將16進制字符串轉(zhuǎn)16進制數(shù)組;


//str為過濾之后的字符串,只包含字母和數(shù)字

string strTemp = "";

for (int i = 0; i < str.Length/2; i++)
{
	strTemp += str.Substring(2 * i, 2);
	strTemp += " ";
}

4、字符串與16進制字符串

二者互轉(zhuǎn)又多了一層。

字符串轉(zhuǎn)16進制字符串:先將字符串轉(zhuǎn)為16進制數(shù)組,再將16進制數(shù)組轉(zhuǎn)為16進制字符串;

16進制字符串轉(zhuǎn)字符串:先將16進制字符串轉(zhuǎn)為16進制數(shù)組,再將16進制數(shù)組轉(zhuǎn)為字符串;

5、其它常見轉(zhuǎn)換操作

5.1 字符串替換

小節(jié)1中介紹了正則匹配來過濾字符串的方法,string類本身也有很多方法實現(xiàn)過濾和替換文章來源地址http://www.zghlxwxcb.cn/news/detail-404912.html

//去掉字符串中的控制字符
string str2 = str1.Replace(" ", "").Replace(",", "").Replace("\t", "").Replace("\n", "").Replace("\r", "");

5.2 格式轉(zhuǎn)換

//Encoding為編碼格式轉(zhuǎn)換
//Convert為數(shù)據(jù)格式轉(zhuǎn)換

//常見的轉(zhuǎn)換有

Convert.ToByte();
Convert.ToUInt16();
Convert.ToUInt32();
Convert.ToUInt64();
Convert.ToDateTime();
Convert.ToString();
Convert.ToBase64String();

到了這里,關(guān)于C# 數(shù)據(jù)互轉(zhuǎn) 16進制&16進制字符串&字符串的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包