我正在尝试将十六进制的字符串转换为ASCII,使用:
public void ConvertHex(String hexString)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hexString.Length; i += 2)
{
String hs = hexString.Substring(i, i + 2);
System.Convert.ToChar(System.Convert.ToUInt32(hexString.Substring(0, 2), 16)).ToString();
}
String ascii = sb.ToString();
MessageBox.Show(ascii);
}
Run Code Online (Sandbox Code Playgroud)
但我得到一个out或bounds异常,我确定它是一个明显的错误,但我尝试过的其他代码也不起作用.我究竟做错了什么?
嗨,我是C#从Java迁移的新手.尝试使用HEX中的IO读取文件.当我读到第一个字节时,我没有得到我在Hex编辑器中看到的内容.
我正在使用
StreamReader reader = new StreamReader(fileDirectory);
int hexIn;
String hex;
for (int i = 0; (hexIn = reader.Read()) != -1; i++){
hex = Convert.ToString(hexIn, 16);
}
Run Code Online (Sandbox Code Playgroud)
在Java我用过......
FileInputStream fis = new FileInputStream(file);
long length = file.length();
int hexIn;
String hex = "";
for(int i = 0; (hexIn = fis.read()) != -1; i++){
String s = Integer.toHexString(hexIn);
if(s.length() < 2){
s = "0" + Integer.toHexString(hexIn);
}
Run Code Online (Sandbox Code Playgroud)
我希望这是有道理的.任何帮助都会得到最多的帮助:)
谢谢