转:以 UE 十六进制编辑模式的显示方式显示数据

package test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class UEHex {

/**
* 测试一下,二进制字符在 ue 里怎么显示。
* 结果: 0x00 - 0x1f 都是显示 .
*/
private static void test01()
{
try {
File f = new File( "chars.bin");
FileOutputStream fos = new FileOutputStream(f);
byte[] buf = new byte[256];
for(int i=0; i<buf.length; i++)
{
buf[i] = (byte)i;
}
fos.write(buf);
fos.flush();
fos.close();

} catch (Exception e) {
e.printStackTrace();
}
}

private static String toHex(byte b)
{
int i = b;
if(b<0)
{
i = 256+i;
}
String s =Integer.toHexString(i).toUpperCase();
if(s.length()==1)
{
s = '0' + s;
}
return s;
}

private static String lineLabel(int i)
{
String s =Integer.toHexString(i).toUpperCase();
int len =s.length();
for(int j=0; j<8-len; j++)
{
s = '0' + s;
}
return s;
}


/**
* 以 UE 十六进制编辑模式的显示方式显示数据
*/
private static void showAsUE()
{
try {
File f = new File( "UEHex.class");
int len = (int)f.length();
byte[] buf = new byte[len];
FileInputStream fis = new FileInputStream(f);
fis.read(buf);
int i=0;
StringBuffer sb = new StringBuffer();
while(i<len)
{
//sb.append(Integer.toHexString(i));
sb.append(lineLabel(i));
sb.append("h: ");
for(int j=0; j<0x10; j++)
{

sb.append(toHex(buf[i]));
sb.append(' ');

i++;
if(i>=buf.length)
{
break;
}
}
i -= 0x10;

sb.append("; ");
for(int j=0; j<0x10; j++)
{
if(buf[i]<=0x1f)
{
sb.append('.');
}
else
{
sb.append((char)buf[i]);
}

i++;
if(i>=buf.length)
{
break;
}
}
sb.append("\r\n");
}
System.out.println(sb);
} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args)
{
//test01();
showAsUE();
}
}




运行结果

00000000h: CA FE BA BE 00 00 00 31 00 93 07 00 02 01 00 0A ; .......1........
00000010h: 74 65 73 74 2F 55 45 48 65 78 07 00 04 01 00 10 ; test/UEHex......
00000020h: 6A 61 76 61 2F 6C 61 6E 67 2F 4F 62 6A 65 63 74 ; java/lang/Object
00000030h: 01 00 06 3C 69 6E 69 74 3E 01 00 03 28 29 56 01 ; ...<init>...()V.
00000040h: 00 04 43 6F 64 65 0A 00 03 00 09 0C 00 05 00 06 ; ..Code..........
00000050h: 01 00 0F 4C 69 6E 65 4E 75 6D 62 65 72 54 61 62 ; ...LineNumberTab
00000060h: 6C 65 01 00 12 4C 6F 63 61 6C 56 61 72 69 61 62 ; le...LocalVariab
00000070h: 6C 65 54 61 62 6C 65 01 00 04 74 68 69 73 01 00 ; leTable...this..
00000080h: 0C 4C 74 65 73 74 2F 55 45 48 65 78 3B 01 00 06 ; .Ltest/UEHex;...
00000090h: 74 65 73 74 30 31 07 00 10 01 00 0C 6A 61 76 61 ; test01......java
000000A0h: 2F 69 6F 2F 46 69 6C 65 08 00 12 01 00 09 63 68 ; /io/File......ch
000000B0h: 61 72 73 2E 62 69 6E 0A 00 0F 00 14 0C 00 05 00 ; ars.bin.........
000000C0h: 15 01 00 15 28 4C 6A 61 76 61 2F 6C 61 6E 67 2F ; ....(Ljava/lang/
000000D0h: 53 74 72 69 6E 67 3B 29 56 07 00 17 01 00 18 6A ; String;)V......j
000000E0h: 61 76 61 2F 69 6F 2F 46 69 6C 65 4F 75 74 70 75 ; ava/io/FileOutpu
000000F0h: 74 53 74 72 65 61 6D 0A 00 16 00 19 0C 00 05 00 ; tStream.........
00000100h: 1A 01 00 11 28 4C 6A 61 76 61 2F 69 6F 2F 46 69 ; ....(Ljava/io/Fi
00000110h: 6C 65 3B 29 56 0A 00 16 00 1C 0C 00 1D 00 1E 01 ; le;)V...........
00000120h: 00 05 77 72 69 74 65 01 00 05 28 5B 42 29 56 0A ; ..write...([B)V.
00000130h: 00 16 00 20 0C 00 21 00 06 01 00 05 66 6C 75 73 ; ... ..!.....flus
00000140h: 68 0A 00 16 00 23 0C 00 24 00 06 01 00 05 63 6C ; h....#..$.....cl
00000150h: 6F 73 65 0A 00 26 00 28 07 00 27 01 00 13 6A 61 ; ose..&.(..'...ja
00000160h: 76 61 2F 6C 61 6E 67 2F 45 78 63 65 70 74 69 6F ; va/lang/Exceptio
00000170h: 6E 0C 00 29 00 06 01 00 0F 70 72 69 6E 74 53 74 ; n..).....printSt
00000180h: 61 63 6B 54 72 61 63 65 01 00 01 66 01 00 0E 4C ; ackTrace...f...L
00000190h: 6A 61 76 61 2F 69 6F 2F 46 69 6C 65 3B 01 00 03 ; java/io/File;...
000001A0h: 66 6F 73 01 00 1A 4C 6A 61 76 61 2F 69 6F 2F 46 ; fos...Ljava/io/F
000001B0h: 69 6C 65 4F 75 74 70 75 74 53 74 72 65 61 6D 3B ; ileOutputStream;
000001C0h: 01 00 03 62 75 66 01 00 02 5B 42 01 00 01 69 01 ; ...buf...[B...i.
000001D0h: 00 01 49 01 00 01 65 01 00 15 4C 6A 61 76 61 2F ; ..I...e...Ljava/
000001E0h: 6C 61 6E 67 2F 45 78 63 65 70 74 69 6F 6E 3B 01 ; lang/Exception;.
000001F0h: 00 05 74 6F 48 65 78 01 00 15 28 42 29 4C 6A 61 ; ..toHex...(B)Lja
00000200h: 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 3B 0A ; va/lang/String;.
00000210h: 00 37 00 39 07 00 38 01 00 11 6A 61 76 61 2F 6C ; .7.9..8...java/l
00000220h: 61 6E 67 2F 49 6E 74 65 67 65 72 0C 00 3A 00 3B ; ang/Integer..:.;
00000230h: 01 00 0B 74 6F 48 65 78 53 74 72 69 6E 67 01 00 ; ...toHexString..
00000240h: 15 28 49 29 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 ; .(I)Ljava/lang/S
00000250h: 74 72 69 6E 67 3B 0A 00 3D 00 3F 07 00 3E 01 00 ; tring;..=.?..>..
00000260h: 10 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E ; .java/lang/Strin
00000270h: 67 0C 00 40 00 41 01 00 0B 74 6F 55 70 70 65 72 ; g..@.A...toUpper
00000280h: 43 61 73 65 01 00 14 28 29 4C 6A 61 76 61 2F 6C ; Case...()Ljava/l
00000290h: 61 6E 67 2F 53 74 72 69 6E 67 3B 0A 00 3D 00 43 ; ang/String;..=.C
000002A0h: 0C 00 44 00 45 01 00 06 6C 65 6E 67 74 68 01 00 ; ..D.E...length..
000002B0h: 03 28 29 49 07 00 47 01 00 17 6A 61 76 61 2F 6C ; .()I..G...java/l
000002C0h: 61 6E 67 2F 53 74 72 69 6E 67 42 75 69 6C 64 65 ; ang/StringBuilde
000002D0h: 72 0A 00 3D 00 49 0C 00 4A 00 4B 01 00 07 76 61 ; r..=.I..J.K...va
000002E0h: 6C 75 65 4F 66 01 00 15 28 43 29 4C 6A 61 76 61 ; lueOf...(C)Ljava
000002F0h: 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 3B 0A 00 46 ; /lang/String;..F
00000300h: 00 14 0A 00 46 00 4E 0C 00 4F 00 50 01 00 06 61 ; ....F.N..O.P...a
00000310h: 70 70 65 6E 64 01 00 2D 28 4C 6A 61 76 61 2F 6C ; ppend..-(Ljava/l
00000320h: 61 6E 67 2F 53 74 72 69 6E 67 3B 29 4C 6A 61 76 ; ang/String;)Ljav
00000330h: 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 42 75 69 ; a/lang/StringBui
00000340h: 6C 64 65 72 3B 0A 00 46 00 52 0C 00 53 00 41 01 ; lder;..F.R..S.A.
00000350h: 00 08 74 6F 53 74 72 69 6E 67 01 00 01 62 01 00 ; ..toString...b..
00000360h: 01 42 01 00 01 73 01 00 12 4C 6A 61 76 61 2F 6C ; .B...s...Ljava/l
00000370h: 61 6E 67 2F 53 74 72 69 6E 67 3B 01 00 09 6C 69 ; ang/String;...li
00000380h: 6E 65 4C 61 62 65 6C 01 00 03 6C 65 6E 01 00 01 ; neLabel...len...
00000390h: 6A 01 00 08 73 68 6F 77 41 73 55 45 08 00 5D 01 ; j...showAsUE..].
000003A0h: 00 0B 55 45 48 65 78 2E 63 6C 61 73 73 0A 00 0F ; ..UEHex.class...
000003B0h: 00 5F 0C 00 44 00 60 01 00 03 28 29 4A 07 00 62 ; ._..D.`...()J..b
000003C0h: 01 00 17 6A 61 76 61 2F 69 6F 2F 46 69 6C 65 49 ; ...java/io/FileI
000003D0h: 6E 70 75 74 53 74 72 65 61 6D 0A 00 61 00 19 0A ; nputStream..a...
000003E0h: 00 61 00 65 0C 00 66 00 67 01 00 04 72 65 61 64 ; .a.e..f.g...read
000003F0h: 01 00 05 28 5B 42 29 49 07 00 69 01 00 16 6A 61 ; ...([B)I..i...ja
00000400h: 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 42 75 ; va/lang/StringBu
00000410h: 66 66 65 72 0A 00 68 00 09 0A 00 01 00 6C 0C 00 ; ffer..h......l..
00000420h: 58 00 3B 0A 00 68 00 6E 0C 00 4F 00 6F 01 00 2C ; X.;..h.n..O.o..,
00000430h: 28 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 ; (Ljava/lang/Stri
00000440h: 6E 67 3B 29 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 ; ng;)Ljava/lang/S
00000450h: 74 72 69 6E 67 42 75 66 66 65 72 3B 08 00 71 01 ; tringBuffer;..q.
00000460h: 00 03 68 3A 20 0A 00 01 00 73 0C 00 34 00 35 0A ; ..h: ....s..4.5.
00000470h: 00 68 00 75 0C 00 4F 00 76 01 00 1B 28 43 29 4C ; .h.u..O.v...(C)L
00000480h: 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 ; java/lang/String
00000490h: 42 75 66 66 65 72 3B 08 00 78 01 00 02 3B 20 08 ; Buffer;..x...; .
000004A0h: 00 7A 01 00 02 0D 0A 09 00 7C 00 7E 07 00 7D 01 ; .z.......|.~..}.
000004B0h: 00 10 6A 61 76 61 2F 6C 61 6E 67 2F 53 79 73 74 ; ..java/lang/Syst
000004C0h: 65 6D 0C 00 7F 00 80 01 00 03 6F 75 74 01 00 15 ; em.......out...
000004D0h: 4C 6A 61 76 61 2F 69 6F 2F 50 72 69 6E 74 53 74 ; Ljava/io/PrintSt
000004E0h: 72 65 61 6D 3B 0A 00 82 00 84 07 00 83 01 00 13 ; ream;...........
000004F0h: 6A 61 76 61 2F 69 6F 2F 50 72 69 6E 74 53 74 72 ; java/io/PrintStr
00000500h: 65 61 6D 0C 00 85 00 86 01 00 07 70 72 69 6E 74 ; eam........print
00000510h: 6C 6E 01 00 15 28 4C 6A 61 76 61 2F 6C 61 6E 67 ; ln...(Ljava/lang
00000520h: 2F 4F 62 6A 65 63 74 3B 29 56 01 00 03 66 69 73 ; /Object;)V...fis
00000530h: 01 00 19 4C 6A 61 76 61 2F 69 6F 2F 46 69 6C 65 ; ...Ljava/io/File
00000540h: 49 6E 70 75 74 53 74 72 65 61 6D 3B 01 00 02 73 ; InputStream;...s
00000550h: 62 01 00 18 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 ; b...Ljava/lang/S
00000560h: 74 72 69 6E 67 42 75 66 66 65 72 3B 01 00 04 6D ; tringBuffer;...m
00000570h: 61 69 6E 01 00 16 28 5B 4C 6A 61 76 61 2F 6C 61 ; ain...([Ljava/la
00000580h: 6E 67 2F 53 74 72 69 6E 67 3B 29 56 0A 00 01 00 ; ng/String;)V....
00000590h: 8E 0C 00 5B 00 06 01 00 04 61 72 67 73 01 00 13 ; ...[.....args...
000005A0h: 5B 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 ; [Ljava/lang/Stri
000005B0h: 6E 67 3B 01 00 0A 53 6F 75 72 63 65 46 69 6C 65 ; ng;...SourceFile
000005C0h: 01 00 0A 55 45 48 65 78 2E 6A 61 76 61 00 21 00 ; ...UEHex.java.!.
000005D0h: 01 00 03 00 00 00 00 00 06 00 01 00 05 00 06 00 ; ................
000005E0h: 01 00 07 00 00 00 2F 00 01 00 01 00 00 00 05 2A ; ....../........*
000005F0h: B7 00 08 B1 00 00 00 02 00 0A 00 00 00 06 00 01 ; ................
00000600h: 00 00 00 07 00 0B 00 00 00 0C 00 01 00 00 00 05 ; ................
00000610h: 00 0C 00 0D 00 00 00 0A 00 0E 00 06 00 01 00 07 ; ................
00000620h: 00 00 00 C8 00 03 00 04 00 00 00 42 BB 00 0F 59 ; ...........B...Y
00000630h: 12 11 B7 00 13 4B BB 00 16 59 2A B7 00 18 4C 11 ; .....K...Y*...L.
00000640h: 01 00 BC 08 4D 03 3E A7 00 0B 2C 1D 1D 91 54 84 ; ....M.>...,...T.
00000650h: 03 01 1D 2C BE A1 FF F5 2B 2C B6 00 1B 2B B6 00 ; ...,....+,...+..
00000660h: 1F 2B B6 00 22 A7 00 08 4B 2A B6 00 25 B1 00 01 ; .+.."...K*..%...
00000670h: 00 00 00 39 00 3C 00 26 00 02 00 0A 00 00 00 32 ; ...9.<.&.......2
00000680h: 00 0C 00 00 00 10 00 0A 00 11 00 13 00 12 00 19 ; ................
00000690h: 00 13 00 1E 00 15 00 23 00 13 00 2C 00 17 00 31 ; .......#...,...1
000006A0h: 00 18 00 35 00 19 00 3C 00 1B 00 3D 00 1C 00 41 ; ...5...<...=...A
000006B0h: 00 1E 00 0B 00 00 00 34 00 05 00 0A 00 32 00 2A ; .......4.....2.*
000006C0h: 00 2B 00 00 00 13 00 29 00 2C 00 2D 00 01 00 19 ; .+.....).,.-....
000006D0h: 00 23 00 2E 00 2F 00 02 00 1B 00 11 00 30 00 31 ; .#.../.......0.1
000006E0h: 00 03 00 3D 00 04 00 32 00 33 00 00 00 0A 00 34 ; ...=...2.3.....4
000006F0h: 00 35 00 01 00 07 00 00 00 88 00 03 00 03 00 00 ; .5..............
00000700h: 00 32 1A 3C 1A 9C 00 09 C4 84 00 01 01 00 1B B8 ; .2.<............
00000710h: 00 36 B6 00 3C 4D 2C B6 00 42 04 A0 00 17 BB 00 ; .6..<M,..B......
00000720h: 46 59 10 30 B8 00 48 B7 00 4C 2C B6 00 4D B6 00 ; FY.0..H..L,..M..
00000730h: 51 4D 2C B0 00 00 00 02 00 0A 00 00 00 1E 00 07 ; QM,.............
00000740h: 00 00 00 22 00 02 00 23 00 06 00 25 00 0C 00 27 ; ..."...#...%...'
00000750h: 00 14 00 28 00 1C 00 2A 00 30 00 2C 00 0B 00 00 ; ...(...*.0.,....
00000760h: 00 20 00 03 00 00 00 32 00 54 00 55 00 00 00 02 ; . .....2.T.U....
00000770h: 00 30 00 30 00 31 00 01 00 14 00 1E 00 56 00 57 ; .0.0.1.......V.W
00000780h: 00 02 00 0A 00 58 00 3B 00 01 00 07 00 00 00 8F ; .....X.;........
00000790h: 00 03 00 04 00 00 00 33 1A B8 00 36 B6 00 3C 4C ; .......3...6..<L
000007A0h: 2B B6 00 42 3D 03 3E A7 00 1A BB 00 46 59 10 30 ; +..B=.>.....FY.0
000007B0h: B8 00 48 B7 00 4C 2B B6 00 4D B6 00 51 4C 84 03 ; ..H..L+..M..QL..
000007C0h: 01 1D 10 08 1C 64 A1 FF E4 2B B0 00 00 00 02 00 ; .....d...+......
000007D0h: 0A 00 00 00 1A 00 06 00 00 00 31 00 08 00 32 00 ; ..........1...2.
000007E0h: 0D 00 33 00 12 00 35 00 26 00 33 00 31 00 37 00 ; ..3...5.&.3.1.7.
000007F0h: 0B 00 00 00 2A 00 04 00 00 00 33 00 30 00 31 00 ; ....*.....3.0.1.
00000800h: 00 00 08 00 2B 00 56 00 57 00 01 00 0D 00 26 00 ; ....+.V.W.....&.
00000810h: 59 00 31 00 02 00 0F 00 22 00 5A 00 31 00 03 00 ; Y.1.....".Z.1...
00000820h: 0A 00 5B 00 06 00 01 00 07 00 00 01 DF 00 03 00 ; ..[.............
00000830h: 07 00 00 00 DD BB 00 0F 59 12 5C B7 00 13 4B 2A ; ........Y.\...K*
00000840h: B6 00 5E 88 3C 1B BC 08 4D BB 00 61 59 2A B7 00 ; ..^.<...M..aY*..
00000850h: 63 4E 2D 2C B6 00 64 57 03 36 04 BB 00 68 59 B7 ; cN-,..dW.6...hY.
00000860h: 00 6A 3A 05 A7 00 97 19 05 15 04 B8 00 6B B6 00 ; .j:..........k..
00000870h: 6D 57 19 05 12 70 B6 00 6D 57 03 36 06 A7 00 28 ; mW...p..mW.6...(
00000880h: 19 05 2C 15 04 33 B8 00 72 B6 00 6D 57 19 05 10 ; ..,..3..r..mW...
00000890h: 20 B6 00 74 57 84 04 01 15 04 2C BE A1 00 06 A7 ; ..tW.....,.....
000008A0h: 00 0D 84 06 01 15 06 10 10 A1 FF D7 84 04 F0 19 ; ................
000008B0h: 05 12 77 B6 00 6D 57 03 36 06 A7 00 32 2C 15 04 ; ..w..mW.6...2,..
000008C0h: 33 10 1F A3 00 0E 19 05 10 2E B6 00 74 57 A7 00 ; 3...........tW..
000008D0h: 0E 19 05 2C 15 04 33 92 B6 00 74 57 84 04 01 15 ; ...,..3...tW....
000008E0h: 04 2C BE A1 00 06 A7 00 0D 84 06 01 15 06 10 10 ; .,..............
000008F0h: A1 FF CD 19 05 12 79 B6 00 6D 57 15 04 1B A1 FF ; ......y..mW.....
00000900h: 69 B2 00 7B 19 05 B6 00 81 A7 00 08 4B 2A B6 00 ; i..{........K*..
00000910h: 25 B1 00 01 00 00 00 D4 00 D7 00 26 00 02 00 0A ; %..........&....
00000920h: 00 00 00 86 00 21 00 00 00 41 00 0A 00 42 00 10 ; .....!...A...B..
00000930h: 00 43 00 14 00 44 00 1D 00 45 00 23 00 46 00 26 ; .C...D...E.#.F.&
00000940h: 00 47 00 2F 00 48 00 32 00 4B 00 3D 00 4C 00 45 ; .G./.H.2.K.=.L.E
00000950h: 00 4D 00 4B 00 50 00 58 00 51 00 60 00 53 00 63 ; .M.K.P.X.Q.`.S.c
00000960h: 00 54 00 6A 00 56 00 6D 00 4D 00 77 00 59 00 7A ; .T.j.V.m.M.w.Y.z
00000970h: 00 5B 00 82 00 5C 00 88 00 5E 00 91 00 60 00 9C ; .[...\...^...`..
00000980h: 00 64 00 A7 00 67 00 AA 00 68 00 B1 00 6A 00 B4 ; .d...g...h...j..
00000990h: 00 5C 00 BE 00 6D 00 C6 00 48 00 CC 00 6F 00 D7 ; .\...m...H...o..
000009A0h: 00 70 00 D8 00 71 00 DC 00 73 00 0B 00 00 00 5C ; .p...q...s.....\
000009B0h: 00 09 00 0A 00 CD 00 2A 00 2B 00 00 00 10 00 C7 ; .......*.+......
000009C0h: 00 59 00 31 00 01 00 14 00 C3 00 2E 00 2F 00 02 ; .Y.1........./..
000009D0h: 00 1D 00 BA 00 87 00 88 00 03 00 26 00 B1 00 30 ; ...........&...0
000009E0h: 00 31 00 04 00 2F 00 A8 00 89 00 8A 00 05 00 48 ; .1.../.........H
000009F0h: 00 2F 00 5A 00 31 00 06 00 85 00 39 00 5A 00 31 ; ./.Z.1.....9.Z.1
00000A00h: 00 06 00 D8 00 04 00 32 00 33 00 00 00 09 00 8B ; .......2.3......
00000A10h: 00 8C 00 01 00 07 00 00 00 32 00 00 00 01 00 00 ; .........2......
00000A20h: 00 04 B8 00 8D B1 00 00 00 02 00 0A 00 00 00 0A ; ................
00000A30h: 00 02 00 00 00 78 00 03 00 79 00 0B 00 00 00 0C ; .....x...y......
00000A40h: 00 01 00 00 00 04 00 8F 00 90 00 00 00 01 00 91 ; ................
00000A50h: 00 00 00 02 00 92 ; ................

[url]原文地址:http://zwhc.iteye.com/blog/646381[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值