Hexコード
1668 ワード
Hex符号化の符号化原理:
*Hex符号化の原理は、元の8ビットのバイナリバイトを2つの4ビットに分割し、前に4つのゼロを加算することである.*補位を行うという8ビットのバイナリバイトが2つの8ビットのバイナリバイトとなり、新たに得られた2つのバイナリ文字を16ビット変換する.*得られた新しい16ビット文字列がHexの値であるため、バイナリの[72,69,88]『hex』484558は等しい.*[72, 69, 88]byte配列のバイナリ=01001001000 01000101*01011000*バイナリ=01001001000 0100001 hexの割り込み操作を行う0100 1000 0101 1000*前の4つのゼロを加えて新しい6つの8つのバイナリ=0000 0100 00001000 0000 0100 000101*新しい6つの8つの8つの8つのバイナリを16進数変換する00000100000101 000000101 0000001000=484558*ということで、Hex符号化後のバイナリ長が2倍になったため、バイト長が2倍になった.
Hexのコーディングプロセス: : HEX
ASCII : [72,69,88]
: 01001000 01000101 01011000
: 0100 1000 0100 0101 0101 1000
: 00000100 00001000 00000100 00000101 00000101 00001000
: 4 8 4 5 5 8
Hex : 484558
コード実装: package com.gl.test;
import org.apache.commons.codec.binary.Hex;
import java.util.Arrays;
public class TestHex {
public static void main(String[] args) {
//
String hex = "HEX";
// byte
byte[] buf = hex.getBytes();
// byte
System.out.println(Arrays.toString(buf));
// Hex
System.out.println(Hex.encodeHexString(buf));
}
}
注:orgを導入する必要がある.apache.commons.codecのjarパッケージ.
maven形式:
commons-codec
commons-codec
1.10
: HEX
ASCII : [72,69,88]
: 01001000 01000101 01011000
: 0100 1000 0100 0101 0101 1000
: 00000100 00001000 00000100 00000101 00000101 00001000
: 4 8 4 5 5 8
Hex : 484558
コード実装: package com.gl.test;
import org.apache.commons.codec.binary.Hex;
import java.util.Arrays;
public class TestHex {
public static void main(String[] args) {
//
String hex = "HEX";
// byte
byte[] buf = hex.getBytes();
// byte
System.out.println(Arrays.toString(buf));
// Hex
System.out.println(Hex.encodeHexString(buf));
}
}
注:orgを導入する必要がある.apache.commons.codecのjarパッケージ.
maven形式:
commons-codec
commons-codec
1.10
package com.gl.test;
import org.apache.commons.codec.binary.Hex;
import java.util.Arrays;
public class TestHex {
public static void main(String[] args) {
//
String hex = "HEX";
// byte
byte[] buf = hex.getBytes();
// byte
System.out.println(Arrays.toString(buf));
// Hex
System.out.println(Hex.encodeHexString(buf));
}
}
commons-codec
commons-codec
1.10