[英]C# : Text to Hex conversion with redefined hex values
我正在嘗試編寫一個將ASCII文本轉換為十六進制值的程序。 問題是我正在一個項目中使用與標准字符不同的ASCII字符十六進制值,因此我必須將預定義的字符集(使用“靜態字典”)合並到轉換中。
我的意圖是使用2個文本框進行設置,一個文本框輸入ASCII輸出,另一個文本框輸出十六進制值。
如果輸入ASCII字符串“ Jack”,則希望窗口返回4b 62 64 6c。 (是的,所有十六進制值都移位了一個,不要問。。。不是我的電話)
我不確定如何執行此操作,並強制其使用靜態詞典定義的值。
將您的字典定義為Dictionary<char, int>
並將每個char
作為鍵,並將修改后的十六進制值作為value
。
這樣,在轉換時,您只需在字典中查找十六進制值。
var x = MyStrangeHexValuesThatWeShouldntAskAbout[myChar];
此解決方案僅適用於ASCII字符:
public static string ToMySpecialAsciiString(string input)
{
StringBuilder result = new StringBuilder();
foreach (char c in input)
result.AppendFormat("{0:x2} ", c + 1);
return result.ToString();
}
請注意,字符ÿ不能正常工作(因為它的值為255,並向其加1將溢出一個字節)。 但是,由於僅指定ASCII,因此永遠不會出現該字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.