中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# 用什么方法將BitConverter.ToString產生字符串再轉換回去

發布時間:2020-09-20 10:22:13 來源:腳本之家 閱讀:193 作者:森大科技 欄目:編程語言

本文介紹了C# 用什么方法將BitConverter.ToString產生字符串再轉換回去,分享給大家,具體如下:

byte[]  bytTemp  =  System.Text.Encoding.Default.GetBytes("String");  
  string  str  =  System.BitConverter.ToString(bytTemp);  
  Console.WriteLine(str);  
  
  string[]  strSplit  =  str.Split('-');  
  byte[]  bytTemp2  =  new  byte[strSplit.Length];  
  for  (int  i  =  0;  i  <  strSplit.Length;  i++)  
      bytTemp2[i]  =  byte.Parse(strSplit[i],  System.Globalization.NumberStyles.AllowHexSpecifier);  
  string  str2  =  System.Text.Encoding.Default.GetString(bytTemp2);  
  Console.WriteLine(str2);

 c#bitconverter.ToString轉換為十六進制字符串

我使用 BitConverter.ToString(bytes)將字符串轉換為十六進制字符串,我將其進一步轉換為整數或浮點數。

但是輸入流由0組成,表明字節值為0.所以假設我有一個整數,它由2個字節的輸入表示,從位置x開始,第一個由 EE 組成,而第二個字節為 00 。現在當我使用 BitConverter.ToString(bytes,x,2).Replace( - ”,”)時,輸出為 EE00 ,其整數值為 60928 ,但在這種情況下,輸出應該是 238 字節 EE 為整數。

但在其他情況下,2個字節可能是 EE01 ,其整數值 60929 在這種情況下是正確的。

任何建議如何解決我的問題?

由于有人說這個問題令人困惑,我會重申我的問題我有很長的十六進制字符串作為輸入。在十六進制字符串中,

1)前12個字節表示字符串。
2)接下來的11個字節也代表了其他一些字符串。
3)接下來1個字節表示整數。
4)接下來的3個字節表示整數。
5)接下來的4個字節表示整數。
6)接下來的4個字節表示浮點數。
7)接下來的7個字節表示字符串。
8)接下來的5個字節表示整數。

因此,對于第4種情況,如果字節是ee 00 00,那么我應該忽略0并將ee轉換為整數。但是如果它是ee 00 ee,那么我應該將ee00ee轉換為整數。我每次都會遵循上面提到的相同模式。

我的問題已解決。我正在犯Endianness的錯誤。我收到的數據是EE 00,在轉換為整數之前,我應該將它作為00 EE。感謝所有為我提供解決方案的人,并抱歉錯過了這個重要的問題。

PS:C# 使用BitConverter.ToString(byte[] value)轉換后字符串帶有橫杠“-”,去掉橫杠方法

使用BitConverter.ToString(byte[] value).Replace("-", ""),可去掉橫杠

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

澎湖县| 牡丹江市| 辰溪县| 莱州市| 昭苏县| 宝坻区| 义乌市| 勃利县| 台州市| 邹平县| 桑植县| 公主岭市| 天峻县| 威海市| 灵丘县| 青海省| 绥宁县| 兰西县| 南丰县| 瓮安县| 奉贤区| 茂名市| 嘉峪关市| 丹阳市| 衢州市| 青田县| 河源市| 嘉禾县| 罗田县| 喜德县| 乐山市| 桐柏县| 甘南县| 禄丰县| 信宜市| 岱山县| 临沧市| 恩平市| 崇礼县| 桃园市| 万盛区|