91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Java bin2hex能進行字符集轉換嗎

小樊
82
2024-09-29 15:51:08
欄目: 編程語言

bin2hex 是 Java 中的一個方法,用于將字節數組轉換為十六進制字符串表示。它并不直接支持字符集轉換。如果你需要將字節數組從一種字符集轉換為另一種字符集,你可以先將字節數組轉換為字符串(例如使用 new String(byteArray, sourceCharset)),然后再將字符串轉換為另一種字符集的字符串(例如使用 new String(string.getBytes(targetCharset)))。

以下是一個簡單的示例,演示了如何使用 bin2hex 將字節數組轉換為十六進制字符串,然后再將字符串轉換回字節數組:

import java.nio.charset.Charset;
import java.util.Arrays;

public class Bin2HexExample {
    public static void main(String[] args) {
        byte[] byteArray = "Hello, world!".getBytes(Charset.forName("UTF-8"));
        String hexString = bin2hex(byteArray);
        System.out.println("Hex string: " + hexString);

        byte[] decodedByteArray = hexToBin(hexString);
        String decodedString = new String(decodedByteArray, Charset.forName("UTF-8"));
        System.out.println("Decoded string: " + decodedString);
    }

    public static String bin2hex(byte[] data) {
        StringBuilder sb = new StringBuilder();
        for (byte b : data) {
            sb.append(String.format("%02x", b));
        }
        return sb.toString();
    }

    public static byte[] hexToBin(String hex) {
        int len = hex.length();
        byte[] data = new byte[len / 2];
        for (int i = 0; i < len; i += 2) {
            data[i / 2] = (byte) ((Character.digit(hex.charAt(i), 16) << 4)
                    + Character.digit(hex.charAt(i + 1), 16));
        }
        return data;
    }
}

在這個示例中,我們將 “Hello, world!” 字符串從 UTF-8 字符集轉換為十六進制字符串,然后再將其轉換回 UTF-8 字符集。注意,這個示例僅用于演示目的,實際應用中可能需要處理更多的錯誤和邊界情況。

0
望奎县| 石棉县| 元江| 色达县| 留坝县| 客服| 彰化市| 陵水| 略阳县| 福清市| 顺平县| 屏山县| 石城县| 凌云县| 张家口市| 佛坪县| 霍州市| 深圳市| 武功县| 德惠市| 象州县| 丹棱县| 临桂县| 铜川市| 高陵县| 陇西县| 秀山| 思南县| 普宁市| 郧西县| 阳新县| 湖北省| 尚志市| 二手房| 长海县| 崇明县| 称多县| 田东县| 股票| 桃江县| 巴彦淖尔市|