[英]C# - Convert a string of hex values to hex
這聽起來可能很奇怪,但是我的問題是我有一個來自文本文件的十六進制值的文本字符串,如下所示:
"0x0f, 0x40, 0xff, ...."
我將它們存儲在一個由定界符分隔的數組中,但是我現在需要做的是用十六進制表示一個字節數組:
stringArray[0] = "0x0f";
byteArray[0] = 0x0f;
我該怎么做(用戶可以加載文本文件,所以我不知道值是什么),我可以使用某種算術嗎?
如果字符串格式正確,則可以使用以下代碼創建數組(如果輸入格式錯誤,則會引發異常):
var text = "0x0f, 0x40, 0xff";
var bytes = text
.Split(new[] { ", " }, StringSplitOptions.None)
.Select(s => (Byte) Int32.Parse(s.Substring(2), AllowHexSpecifier));
您只需要解析每個字符串。 因為每個值僅是一個值,所以您可以執行以下操作:
byte b;
if (byte.TryParse(s, NumberStyles.HexNumber,
CultureInfo.InvariantCulture.NumberFormat, out b))
{
// b contains the value.
}
其中s是要解析的字符串,b是結果值。
非奇數十六進制字符串是正確的。 從中檢查源是否獲得此字符串。 這是由於限制字符數而導致的字符串截斷。 如果String是圖像存儲在數據庫中,則使用程序而不使用任何工具來檢索它
我在使用.net和MSSQL以及通過使用webservice和Java Client時遇到相同的問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.