使用表文件(.tbl)将十六进制转换为字符串

时间:2013-11-01 15:15:39

标签: c# arrays hex binaryreader

我目前正在读取来自nes rom的十六进制数据(Zelda 2是具体的)。普通的十六进制编辑器使用表格文件将十六进制转换为文本,因为每个rom都使用不同的十六进制数据。在我的应用程序中是否有本机方式使用它?我正在读这样的内容:

  BinaryReader reader = new BinaryReader(new FileStream(@"C:\zelda2.nes", FileMode.Open, FileAccess.Read, FileShare.None));
  reader.BaseStream.Position = 0x10;     
  byte[] data = reader.ReadBytes(0x30); 
  reader.Close();

  string str = Encoding.Default.GetString(data); 
  string hex = BitConverter.ToString(data);

  label1.Text = str;
  label2.Text = hex;

我正在尝试为Zelda 2制作一个“文本编辑器”,但当然输出不是游戏中使用的真实文本,因为通常你会使用一个表文件。 Zelda 2的表格文件如下所示:

CE=/
CF=.
D0=0
D1=1
D2=2
D3=3
D4=4
D5=5
D6=6
D7=7
D8=8
D9=9
DA=A
DB=B
DC=C
DD=D
DE=E
DF=F
E0=G
E1=H
E2=I
E3=J
E4=K
E5=L
E6=M
E7=N
E8=O
E9=P
EA=Q
EB=R
EC=S
ED=T
EE=U
EF=V
F0=W
F1=X
F2=Y
F3=Z
F4= 
F5= 
F6=-

0 个答案:

没有答案