簡體   English   中英

在Java中將十六進制字符串轉換為基本36編碼字符串,反之亦然

[英]Convert a hex string into base 36 encoded string and vice versa in Java

我在很長一段時間內都在沖浪,以便為上述問題找到合適的解決方案。

我找不到Java語言中的轉換/編碼解決方案。

我需要將十六進制字符串編碼為基本36格式的字符串。

例如,這些是樣本輸入和輸出。

ID和反向B36編碼

3028354D8202028000000000,CHL58FYDITHJ83VN0G1 3028354D8202028000000001,DHL58FYDITHJ83VN0G1 3028354D8202028000000002,EHL58FYDITHJ83VN0G1

建議非常感謝。

你有沒有嘗試過:

String convertHexToBase36(String hex) {
  BigInteger big = new BigInteger(hex, 16);
  return big.toString(36);
}

感謝@rossum的幫助和耐心。

我現在可以根據我的要求從十六進制到base36進行轉換,反之亦然。

public static String convertHexToBase36(String hex)
{
    BigInteger big = new BigInteger(hex, 16);
    StringBuilder sb = new StringBuilder(big.toString(36));
    return sb.reverse().toString();
}

public static String convertBase36ToHex(String b36)
{
    StringBuilder sb = new StringBuilder(b36);
    BigInteger base = new BigInteger(sb.reverse().toString(), 36);
    return base.toString(16);
}

我只是反向B36編碼。 為了耐心和幫助,給@rossum充滿了掌聲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM