[英]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.