Rumah >Java >javaTutorial >Bagaimana untuk Menukar Rentetan ke dan dari Heksadesimal di Jawa?

Bagaimana untuk Menukar Rentetan ke dan dari Heksadesimal di Jawa?

Barbara Streisand
Barbara Streisandasal
2024-12-24 17:24:29182semak imbas

How to Convert Strings to and from Hexadecimal in Java?

Menukar Rentetan kepada Perenambelasan dalam Java

Menukar rentetan kepada perenambelasan dalam Java ialah tugas mudah yang boleh dicapai menggunakan String.format () kaedah. Begini cara anda boleh melakukannya:

public String toHex(String arg) {
    return String.format("%040x", new BigInteger(1, arg.getBytes(/*YOUR_CHARSET?*/)));
}

Dalam kod ini, baris BigInteger(1, arg.getBytes()) menukar rentetan kepada objek BigInteger, yang mewakili integer bukan negatif ketepatan arbitrari . Argumen 1 menentukan bahawa integer diwakili dalam susunan bait kecil-endian.

Baris String.format(" 0x") kemudiannya memformat objek BigInteger sebagai rentetan perenambelasan. Penentu format 0x menentukan bahawa rentetan hendaklah berlapik sifar kepada jumlah lebar 40 aksara.

Menukar Rentetan Perenambelasan Kembali kepada Rentetan

Menukar rentetan perenambelasan kembali ke rentetan adalah serupa dengan proses penukaran yang diterangkan di atas, tetapi sebaliknya. Begini cara anda boleh melakukannya:

public String fromHex(String hex) {
    byte[] bytes = new BigInteger(hex, 16).toByteArray();
    return new String(bytes, /*YOUR_CHARSET?*/);
}

Dalam kod ini, baris BigInteger(hex, 16) baharu menukar rentetan perenambelasan kepada objek BigInteger. Argumen 16 menentukan bahawa rentetan diwakili dalam format perenambelasan.

Kaedah toByteArray() menukar objek BigInteger kepada tatasusunan bait.

Akhir sekali, baris String(bait) baharu menukarkan tatasusunan bait kepada rentetan menggunakan set aksara yang ditentukan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan ke dan dari Heksadesimal di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn